// ----------------------------------------------------------------------------
// Copyright 2006, Martin D. Flynn
// All rights reserved
// ----------------------------------------------------------------------------
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// 
// http://www.apache.org/licenses/LICENSE-2.0
// 
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// ----------------------------------------------------------------------------
// Description:
//  OpenDMTP protocol property keys.
// ----------------------------------------------------------------------------
// Change History:
//  2006/03/26  Martin D. Flynn
//      Initial release
//  2006/05/07  Martin D. Flynn
//      Added PROP_CMD_GEOF_ADMIN property.
//      Added PROP_GEOF_VERSION property.
//      Added PROP_GEOF_COUNT property.
//      GeoCorr property types renamed to PROP_GEOC_...
//      Relocated PROP_GEOC_ACTIVE property key (was 0xF561)
//      Relocated PROP_GEOC_VIOLATION_INTRVL property key (was 0xF571)
//      Relocated PROP_GEOC_VIOLATION_COUNT property key (was 0xF572)
// ----------------------------------------------------------------------------
package org.opendmtp.j2me.codes;

/**
 * Contains OpenDMTP protocol property keys that allow reading state, or setting state, on the
 * device. <br>
 * Property attributes typically may be one or more of the following: <br> - Read-Only (cannot be
 * changed by the server) <br> - State (maintains device state, may be read-only by server) <br> -
 * Command (write-only) (invokes an action on the client when set) <br> - Configuration (sets a
 * behaviour attribute) <br>
 * Reserved Property IDs: [E0-00 through FF-FF] <br>
 * <br>
 * ---------------------------------------------------------------------------- <br>
 * Argument/Value parsing rules: <br>
 * 1) For ASCIIZ types, parsing of the ASCII value stops at the first null terminator, or when the
 * end of the data buffer is encountered. If a null terminator is encountered, then any remaining
 * data after the null may be discarded. <br>
 * 2) For numeric/binary types, if the supplied data length is at least the length which is required
 * by the property, then the data is parsed as defined by the property, and any remaining data may
 * be discarded. <br>
 * 3) For numeric types, if the supplied data length is less-than than specified as required by the
 * property, then the supplied data is right shifted until the proper property required data length
 * is achieved. If the property value is signed, then most significant bit of the supplied data is
 * extended into the bytes comprising the filler. If the property defines a multiple numeric
 * element, the supplied length is divided evenly by the number of required elements (any remainder
 * constitutes an error) and the quotient number of bytes is parsed as described above for each
 * element. 0-length data payloads will be interpreted as '0' numeric values.
 * 
 * <br>
 * ---------------------------------------------------------------------------- <br>
 * Notes: <br>
 * 1) The client is free to impose whatever limits it deems necessary on the property values set by
 * the server.
 * 
 * @author Martin D. Flynn
 * @author Robert Puckett
 * 
 */
public interface DMTPProps {

  // ----------------------------------------------------------------------------
  // Reserved platform configuration properties [E000 through EFFF]

  // --- Transport media port config
  /**
   * Contains the property value for the serial port to which the transport media device is attached
   * [optional][Read-Only]. <br>
   * Get Value: <br>
   * 0:X - [ASCIIZ] string representing the serial port name <br>
   * Notes: <br> - If needed, this value represents the serial port to which the transport media
   * device is attached. For instance, if the system is configured for GPRS data transport, then
   * this value may represent the serial port to which the GPRS modem is attached. <br> - The
   * read-only attribute of this property should be enforced by the client to prevent the server
   * from accidentally changing this value.
   */
  public static final int PROP_CFG_XPORT_PORT = 0xEF11;

  /**
   * Contains the property value for use when debugging the transport media device
   * [optional][Read-Only]. <br>
   * Get Value: <br>
   * 0:1 - [utBool] Non-Zero if debugging this transport media device <br>
   * Notes: <br> - Used only when debugging this transport media device.
   */
  public static final int PROP_CFG_XPORT_DEBUG = 0xEF1D;

  // --- GPS port config
  /**
   * Contains the property value for the serial port to which the GPS device is attached
   * [optional][Read-only]. <br>
   * Get Value: <br>
   * 0:X - [ASCIIZ] string representing the serial port name <br>
   * Notes: <br> - The read-only attribute of this property should be enforced by the client. <br>
   * to prevent the server from accidentally changing this value.
   */
  public static final int PROP_CFG_GPS_PORT = 0xEF21;

  /**
   * Contains the property value for the name/type of the attached GPS device [optional][Read-Only].
   * <br>
   * Get Value: <br>
   * 0:X - [ASCIIZ] string representing the name/type of the attached GPS device. <br>
   * Notes: <br> - This value may be used for custom initialization. <br> - The read-only attribute
   * of this property should be enforced by the client to prevent the server from accidentally
   * changing this value.
   */
  public static final int PROP_CFG_GPS_MODEL = 0xEF22;

  /**
   * Contains the property value for use when debugging the GPS device [optional][Read-Only]. <br>
   * Get Value: <br>
   * 0:1 - [utBool] Non-Zero if debugging this GPS device <br>
   * Notes: <br> - Used only when debugging this GPS device.
   */
  public static final int PROP_CFG_GPS_DEBUG = 0xEF2D;

  // --- General serial port 0 config

  /**
   * Contains the property value for general serial port 0 name [optional][Read-Only]. <br>
   * Get Value: <br>
   * 0:X - [ASCIIZ] string representing this serial port name <br>
   * Notes: <br> - The read-only attribute of this property should be enforced by the client to
   * prevent the server from accidentally changing this value.
   */
  public static final int PROP_CFG_SERIAL0_PORT = 0xEF31;

  /**
   * Contains the property value for use when debugging serial port 0 [optional][Read-Only]. <br>
   * Get Value: <br>
   * 0:1 - [utBool] Non-Zero if debugging this serial port <br>
   * Notes: <br> - Used only when debugging this serial port.
   */
  public static final int PROP_CFG_SERIAL0_DEBUG = 0xEF3D;

  // --- General serial port 1 config
  /**
   * Contains the property value for a general serial port 1 name [optional][Read-Only]. <br>
   * Get Value: <br>
   * 0:X - [ASCIIZ] string representing this serial port name <br>
   * Notes: <br> - The read-only attribute of this property should be enforced by the client to
   * prevent the server from accidentally changing this value.
   */
  public static final int PROP_CFG_SERIAL1_PORT = 0xEF41;

  /**
   * Contains the property value for use when debugging serial port 1 [optional][Read-Only]. <br>
   * Get Value: <br>
   * 0:1 - [utBool] Non-Zero if debugging this serial port <br>
   * Notes: <br> - Used only when debugging this serial port.
   */
  public static final int PROP_CFG_SERIAL1_DEBUG = 0xEF4D;

  // ----------------------------------------------------------------------------
  // Reserved Command properties (WO = write-only) [F000 through F0FF]

  /**
   * Contains the property value for the write-only command for generate/send status event. <br>
   * Set Value: <br>
   * 0:2 - [UInt16] status code of event to generate <br>
   * 2:1 - [UInt8] Index, as needed by client [optional] <br>
   * Special data length rules: <br> - The server must always send a valid statuCode with this
   * command. <br> - The index should be included if it is needed. If a needed index <br>
   * is missing, it will be assumed that the value should be '0'. <br>
   * Effect: <br>
   * Generate the specified event. <br>
   * Notes: <br> - Client may decide which status codes are supported in this command. <br>
   * However, at least STATUS_LOCATION must be supported to allow querying 
   * the device about it's current location.
   */
  public static final int PROP_CMD_STATUS_EVENT = 0xF011;

  /**
   * Contains the property value for the write-only command for set output [optional]. <br>
   * Set Value: <br>
   * 0:1 - [UInt8] Index of output <br>
   * Valid range 0 to 15. <br>
   * 1:1 - [UInt8] Output state <br>
   * Valid values 0=off, 1=on (bit mask 0xFE is reserved) <br>
   * 2:4 - [UInt32] Duration in milliseconds [optional] <br>
   * Valid range 0 to 4294967295 milliseconds (a '0' value means indefinite) <br>
   * Client may impose a maximum value. <br>
   * Special data length rules: <br> - The server must always send a valid index and the output
   * state with this <br>
   * command. The duration need not be sent if the value is '0'. <br> - The Command implementaion
   * defines the behaviour if the supplied argument <br>
   * length is not at least 2 bytes, or if the index is outside the acceptable <br>
   * range. The mask 0x01 should be applied to obtain the output state. <br>
   * Effect: <br> - Set specified output to the specified state for specified duration, then <br>
   * set the opposite state to that specified. <br> - If the duration is zero, or omitted, then the
   * duration is indefinite. <br> - The client should impose any limits deemed necessary for the
   * type of output. <br>
   * (ie. When sending a command to perform an action on the device, it is the <br>
   * clients responsibility to insure that the output profile will not do damage to <br>
   * the device, property, persons, etc.) <br>
   * Notes: <br> - Support for this command on the client is optional (as in the case where <br>
   * the client does not support digital outputs). If not supported by the <br>
   * client it should return error 0xF311 (invalid/unsupported command).
   */

  public static final int PROP_CMD_SET_OUTPUT = 0xF031;

  // ----------------------------------------------------------------------------
  // Read-Only/State properties:

  /**
   * Contains the property value for the protocol version [Read-Only]. <br>
   * Get Value: <br>
   * 0:1 - [UInt8] Major version id <br>
   * Valid range 0 to 255 <br>
   * 1:1 - [UInt8] Minor version id <br>
   * Valid range 0 to 255 <br>
   * 2:1 - [UInt8] Minor revision [optional] <br>
   * Valid range 0 to 255 <br>
   * Special data length rules: <br> - The client must always send at least the Major and Minor ids.
   * <br>
   * Notes: <br> - This value represents the version of the DMTP protocol that this client <br>
   * has implemented. <br> - The read-only attribute of this property should be enforced by the
   * client.
   */
  public static final int PROP_STATE_PROTOCOL = 0xF100;

  /**
   * Contains the property value for the firmware version [Read-Only]. <br>
   * Get Value: <br>
   * 0:X - [ASCIIZ] string representing the firmware version id <br>
   * Notes: <br> - This value is defined by the client and represents the version of the firmware.
   * <br> - The read-only attribute of this property should be enforced by the client.
   */
  public static final int PROP_STATE_FIRMWARE = 0xF101;

  /**
   * Contains the property value for the copyright [Read-Only]. <br>
   * Get Value: <br>
   * 0:X - [ASCIIZ] string representing the copyright string <br>
   * Notes: <br> - The read-only attribute of this property should be enforced by the client.
   */
  public static final int PROP_STATE_COPYRIGHT = 0xF107;

  /**
   * Contains the property value for the serial number [Read-Only]. <br>
   * Get Value: <br>
   * 0:X - [ASCIIZ] string representing the serial number (may be same as device id) <br>
   * Special data length rules: <br> - The maximum length of the serial number is 20 ASCII
   * characters. <br>
   * Notes: <br> - This value is defined by the client. If the client does not have a serial <br>
   * number, then this value should be the same as the device-id. <br> - The terminating null ('0')
   * need not be included in the payload <br> - The read-only attribute of this property should be
   * enforced by the client.
   */
  public static final int PROP_STATE_SERIAL = 0xF110;

  /**
   * Contains the property value for the unique ID [Read-Only]. <br>
   * Value: <br>
   * 0:6 - [UInt8(6)] Unique 6-byte code provided by the DMT service provider <br>
   * Special data length rules: <br> - The client must send a 0-length field if the unique id has
   * not been <br>
   * defined, or exactly 6 bytes if a unique id has been defined. <br>
   * Notes: <br> - This unique id is provided by the DMT service provider and uniquely <br>
   * identifies the device. <br> - The read-only attribute of this property should be enforced by
   * the client.
   */
  public static final int PROP_STATE_UNIQUE_ID = 0xF112;
  /**
   * Contains the property value for the account ID [Read-Only]. <br>
   * Value: <br>
   * 0:X - [ASCIIZ] account ID recognized by the DMT service provider <br>
   * Special data length rules: <br> - The length of the property payload should be at least the
   * length of the <br>
   * number of characters required to represent the account id. <br> - The minimum length of this id
   * is defined by the DMT service provider. <br> - The maximum length of this id is 20 ASCII
   * characters. <br>
   * Notes: <br> - This account id is provided by the DMT service provider and uniquely <br>
   * identifies the owner of the account. <br> - The terminating null ('0') need not be included in
   * the payload <br> - The read-only attribute of this property should be enforced by the client.
   */

  public static final int PROP_STATE_ACCOUNT_ID = 0xF114;

  /**
   * Contains the property value for the device ID [Read-Only]. <br>
   * Value: <br>
   * 0:X - [ASCIIZ] device ID recognized by the DMT service provider <br>
   * Special data length rules: <br> - The length of the property payload should be at least the
   * length of the <br>
   * number of characters required to represent the device id. <br> - The minimum length of this id
   * is defined by the DMT service provider. <br> - The maximum length of this id is 20 ASCII
   * characters. <br>
   * Notes: <br> - This device id is provided by account owner and is registered to the DMT <br>
   * service provider. This device id uniquely identifies the device within the <br>
   * account id. <br> - The terminating null ('0') need not be included in the payload <br> - The
   * read-only attribute of this property should be enforced by the client.
   */
  public static final int PROP_STATE_DEVICE_ID = 0xF115;

  /**
   * Contains the property value for the current time of device [optional][Read-Only]. <br>
   * Value: <br>
   * 0:4 - [UInt32] Number of seconds since midnight Jan 1, 1970 GMT <br>
   * Valid value is defined by the current time <br>
   * Special data length rules: <br> - The client must either respond with an exact 4 byte value, or
   * may send <br>
   * a 0-length value indicating to the server that the client cannot <br>
   * provide the system time. <br>
   * Note: <br> - Implementation of this property is optional. However, <br>
   * if the client cannot, or does not wish to support this feature, it <br>
   * should at least return a 0-length value. <br> - Typically this property is read-only, however
   * this is enforced by <br>
   * the client, not the server. The client may allow this value to be set <br>
   * if necessary.
   */
  public static final int PROP_STATE_TIME = 0xF121;

  /**
   * Contains the property value for the latest (current) GPS fix [optional][Read-Only]. <br>
   * Value: <br>
   * 0:4 - [UInt32] GPS fix time <br>
   * Valid value is defined by the current time <br>
   * 4:4 - [UInt32] high-resolution encoded latitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * 8:4 - [UInt32] high-resolution encoded longitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * or <br>
   * 0:4 - [UInt32] GPS fix time <br>
   * Valid value is defined by the current time <br>
   * 4:3 - [UInt24] standard-resolution encoded latitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * 7:3 - [UInt24] standard-resolution encoded longitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * or <br>
   * 0:0 - this property is not supported <br>
   * Special data length rules: <br> - The client must respond with either a 10-byte or 12-byte
   * length. Or <br>
   * the client may respond with a 0-length value if this feature cannot be <br>
   * supported. <br> - The server must send either a 10-byte or 12-byte length, depending on <br>
   * which lat/lon encoding the server has determined that the client supports. <br>
   * Notes: <br> - Depending on the degree of accuracy that the client wishes to provide, <br>
   * the client may return either a 6-byte, or 8-byte, encoded Lat/Lon. <br>
   * If the client cannot, or does not wish to support this feature, it <br>
   * should at least return a 0-length value. <br> - Typically, this property is read-only, however
   * this is enforced by <br>
   * the client, not the server. The client may allow this value to be set <br>
   * if necessary. <br> - Client note: If the client supports setting this property, but does not
   * <br>
   * support the high-resolution encoding of the Lat/Lon, it should then <br>
   * return error 0xF112 (Invalid property value) if the server attempts to <br>
   * set the GPS value using a high-resolution encoded Lat/Lon. <br> - Server note: The server will
   * infer from the length of the data payload <br>
   * which type of encoding is used. A data payload of 10 bytes will indicate <br>
   * a standard-resolution encoding, and a length of 12 bytes will indicating <br>
   * a high-resolution encoding. If the data payload is 0-length, the server <br>
   * will assume that this property feature is not supported by this client. <br> - Server note: If
   * the server wishes to set this property on the client, <br>
   * it will need to be aware that the client may not support setting this <br>
   * value, or may not support the high resolution encoding of the lat/long. <br>
   * The server may infer the resolution supported by the client by <br>
   * inspection of the resolution returned by the client in previous event <br>
   * packets or in the retrieval of this property value. If the server attempts <br>
   * to set this property with a high resolution encoded lat/long, and the client <br>
   * returns error 0xF112 (Invalid property value), then the server will <br>
   * know that the property is writable, but the high-resolution encoding is <br>
   * not supported, the server may then wish to re-issue the property change <br>
   * with the standard-resolution encoding.
   */
  public static final int PROP_STATE_GPS = 0xF123;

  /**
   * Contains the property value for the latest (current) GPS diagnostic information
   * [optional][Read-Only]. <br>
   * Value: <br>
   * 0:4 - [UInt32] Last GPS sample time <br>
   * 4:4 - [UInt32] Last GPS valid fix time <br>
   * 8:4 - [UInt32] Number of valid GPS fixes since reboot <br>
   * 12:4 - [UInt32] Number of invalid GPS fixes since reboot <br>
   * 16:4 - [UInt32] Number of forced GPS restarts <br>
   * Notes: <br> - This property is used by the client to provide diagnostic information <br>
   * regarding the current health of the GPS module.
   */
  public static final int PROP_STATE_GPS_DIAGNOSTIC = 0xF124;

  /**
   * Contains the property value for the number of queued events ready for transmission
   * [optional][Read-Only]. <br>
   * Value: <br>
   * 0:4 - [UInt32] Number of queued, un-acknowledged, events
   */
  public static final int PROP_STATE_QUEUED_EVENTS = 0xF131;

  // ----------------------------------------------------------------------------
  // Data transmission/communication properties:

  /**
   * Contains the property value signifying whether or not the client is expected to initiate the
   * conversation with the server. <br>
   * Value: <br>
   * 0:1 - [utBool] Non-Zero if client is expected to initiate conversation <br>
   * Special data length rules: <br> - The client must send the 1 required byte <br> - The server
   * must send the 1 required byte <br>
   * Notes: <br> - This value may be read-only on the client.
   */
  public static final int PROP_COMM_SPEAK_FIRST = 0xF303;

  /**
   * Contains the property value signifying whether or not the client must send only ID and EOB
   * packets on first packet block. It <br>
   * must not include any other packets. <br>
   * Value: <br>
   * 0:1 - [utBool] Non-Zero if client is to send only ID and EOB packets on first packet <br>
   * block. <br>
   * Special data length rules: <br> - The client must send the 1 required byte <br> - The server
   * must send the 1 required byte <br>
   * Notes: <br> - This value may be read-only on the client.
   */
  public static final int PROP_COMM_FIRST_BRIEF = 0xF305;

  /**
   * Contains the property value for the maximum number of allowed connections per time period. <br>
   * Value: <br>
   * 0:1 - [UInt8] Maximum total connections per time period (Duplex + Simplex) <br>
   * Valid range: 0 to 255 connections (0 means NO connections) <br>
   * 1:1 - [UInt8] Maximum Duplex connections per time period <br>
   * Valid range: 0 to 255 connections (0 means NO Duplex connections) <br>
   * 2:1 - [UInt8] Number of minutes over which the above limits apply <br>
   * Valid range: 0 to 240 minutes <br>
   * (Rounded to floor 30 minute interval. Max 240 minutes.) <br>
   * Special data length rules: <br> - The client should send the 3 required bytes <br> - The server
   * must send the 3 required bytes <br>
   * Notes: <br> - These values should match those provided by the level of service <br>
   * granted by the DMT service provider. <br> - The number of total connections should always be >=
   * the number of Duplex connections <br> - The number of Duplex connection should be set to '0' if
   * all messages are to <br>
   * transmitted via Simplex (eg. UDP).
   */
  public static final int PROP_COMM_MAX_CONNECTIONS = 0xF311;

  /**
   * Contains the property value for the absolute minimum time delay (seconds) between transmit
   * intervals. <br>
   * Value: <br>
   * 0:2 - [UInt16] Minimum time in seconds between transmissions <br>
   * Valid range: 0 to 65535 seconds (0 means no minimum) <br>
   * Special data length rules: <br> - The client should respond with at least the minimum length
   * that can accurately <br>
   * represent the value. <br> - The server must always send at least 1 byte. <br>
   * Notes: <br> - The device must never transmit more often than the interval specified by this
   * <br>
   * property (even for critical events).
   */
  public static final int PROP_COMM_MIN_XMIT_DELAY = 0xF312;

  /**
   * Contains the property value for the minimum data transmit interval (seconds). <br>
   * Value: <br>
   * 0:4 - [UInt32] Minimum time in seconds between transmissions of non-critical events. <br>
   * Valid range: 0 to 4294967295 seconds (the client may impose limits) <br>
   * Special data length rules: <br> - The client should respond with at least the minimum length
   * that can accurately <br>
   * represent the value. <br> - The server must always send at least 1 byte. <br>
   * Notes: <br> - For non-critical events, the device should never transmit more often than the
   * <br>
   * interval specified by this property.
   */
  public static final int PROP_COMM_MIN_XMIT_RATE = 0xF313;

  /**
   * Contains the property value for the maximum data transmit interval. <br>
   * Value: <br>
   * 0:4 - [UInt32] Maximum time in seconds between transmissions <br>
   * Valid range: 0 to 4294967295 seconds (the client may impose limits) <br>
   * Special data length rules: <br> - The client should respond with at least the minimum length
   * that can accurately <br>
   * represent the value. <br> - The server must always send at least 1 byte. <br>
   * Notes: <br> - If this amount of time passes without any data trasnmission, initiate a <br>
   * non-data transmission to see if the server wishes to send the client any <br>
   * information or reconfiguration. <br> - This value should never be less than
   * PROP_COMM_MIN_XMIT_RATE
   */
  public static final int PROP_COMM_MAX_XMIT_RATE = 0xF315;

  /**
   * Contains the property value for the maximum events to send per block (Duplex connections). <br>
   * Value: <br>
   * 0:1 - [UInt8] Maximum number of events to send per acknowledge block (1 to 255) <br>
   * Valid range: 1 to 255 events (the client/server may impose limits) <br>
   * Special data length rules: <br> - The client must always send a 1 byte value. <br> - The server
   * must always send a 1 byte value. <br>
   * Notes: <br> - This value should be at least 1, but should not be greater than 128. The <br>
   * server may refuse the data if greater than 128.
   */

  public static final int PROP_COMM_MAX_DUP_EVENTS = 0xF317;

  /**
   * Contains the property value for the maximum events to send per Simplex transmission. <br>
   * Value: <br>
   * 0:1 - [UInt8] Maximum number of events to send per Simplex transmission (1 to 255) <br>
   * Valid range: 1 to 255 events (the client may impose limits) <br>
   * Special data length rules: <br> - The client must always send a 1 byte value. <br> - The server
   * must always send a 1 byte value. <br>
   * Notes: <br> - This value should be at least 1, but should not be greater than 16. Since <br>
   * Simplex transmissions may not guarantee delivery (UDP does not), making this <br>
   * value larger may result in a more significant data loss should a particular <br>
   * message be lost. <br> - Since Simplex transmissions may not guarantee delivery, only low
   * priority, <br>
   * non-critical messages should be sent via Simplex.
   */
  public static final int PROP_COMM_MAX_SIM_EVENTS = 0xF318;

  /**
   * Contains the property value for the communication settings - as defined by device. <br>
   * Value: <br>
   * 0:X - [ASCIIZ] Device defined communication settings. <br>
   * Special data length rules: <br> - A 0-length value indicates that no communication settings are
   * available. <br>
   * Notes: <br> - The format of the value payload is defined by the client device. <br> - The
   * terminating null ('0') need not be included in the payload <br> - The client may choose to make
   * this read-only.
   */
  public static final int PROP_COMM_SETTINGS = 0xF3A0;

  /**
   * Contains the property value for the communication settings host [optional]. <br>
   * Value: <br>
   * 0:X - [ASCIIZ] host name or ip address, identifier <br>
   * Special data length rules: <br> - A 0-length value indicates that no host name is available.
   * <br>
   * Notes: <br> - This value must be supplied by your DMT service provider. <br> - The terminating
   * null ('0') need not be included in the payload <br> - The client may choose to make this
   * read-only.
   */

  public static final int PROP_COMM_DMTP_HOST = 0xF3A1;

  /**
   * Contains the property value for the communication settings port [optional]. <br>
   * Value: <br>
   * 0:2 - [UInt16] host port number for Duplex/Simplex communications. <br>
   * Special data length rules: <br> - The length must be large enough to accurately represent the
   * port. <br> - A 0-length value indicates that no port is specified. <br>
   * Notes: <br> - This value must be supplied by your DMT service provider. <br> - The client may
   * choose to make this read-only.
   */
  public static final int PROP_COMM_DMTP_PORT = 0xF3A2;

  /**
   * Contains the property value for the communication settings DNS 1 [optional]. <br>
   * Value: <br>
   * 0:X - [ASCIIZ] DNS ip address (primary) <br>
   * Special data length rules: <br> - A 0-length value indicates that DNS-1 is not available. <br>
   * Notes: <br> - This value must be supplied by your GSM/GPRS airtime service provider. <br> - The
   * terminating null ('0') need not be included in the payload <br> - The client may choose to make
   * this read-only.
   */
  public static final int PROP_COMM_DNS_1 = 0xF3A3;

  /**
   * Contains the property value for the communication settings DNS 2 [optional]. <br>
   * Value: <br>
   * 0:X - [ASCIIZ] DNS ip address (secondary) <br>
   * Special data length rules: <br> - A 0-length value indicates that DNS-2 is not available. <br>
   * Notes: <br> - This value must be supplied by your GSM/GPRS airtime service provider. <br> - The
   * terminating null ('0') need not be included in the payload <br> - The client may choose to make
   * this read-only.
   */
  public static final int PROP_COMM_DNS_2 = 0xF3A4;

  /**
   * Contains the property value for the communication settings APN name [optional]. <br>
   * Value: <br>
   * 0:X - [ASCIIZ] communication settings as required by the client device. <br>
   * Special data length rules: <br> - A 0-length value indicates that the APN name is not
   * available. <br>
   * Notes: <br> - The format of this ASCIIZ value is defined by the client device. <br> - This
   * value must be supplied by your GSM/GPRS airtime service provider. <br> - The terminating null
   * ('0') need not be included in the payload
   */
  public static final int PROP_COMM_APN_NAME = 0xF3A6;

  /**
   * Contains the property value for the communication settings APN server [optional]. <br>
   * Value: <br>
   * 0:X - [ASCIIZ] communication settings as required by the client device. <br>
   * Special data length rules: <br> - A 0-length value indicates that the APN server is not
   * available. <br>
   * Notes: <br> - The format of this ASCIIZ value is defined by the client device. <br> - This
   * value must be supplied by your GSM/GPRS airtime service provider. <br> - The terminating null
   * ('0') need not be included in the payload
   */
  public static final int PROP_COMM_APN_SERVER = 0xF3A7;

  /**
   * Contains the property value for the communication settings APN user [optional]. <br>
   * Value: <br>
   * 0:X - [ASCIIZ] communication settings as required by the client device. <br>
   * Special data length rules: <br> - A 0-length value indicates that the APN user is not
   * available. <br>
   * Notes: <br> - The format of this ASCIIZ value is defined by the client device. <br> - This
   * value must be supplied by your GSM/GPRS airtime service provider. <br> - The terminating null
   * ('0') need not be included in the payload
   */
  public static final int PROP_COMM_APN_USER = 0xF3A8;

  /**
   * Contains the property value for the communication settings APN password [optional]. <br>
   * Value: <br>
   * 0:X - [ASCIIZ] communication settings as required by the client device. <br>
   * Special data length rules: <br> - A 0-length value indicates that the APN password is not
   * available. <br>
   * Notes: <br> - The format of this ASCIIZ value is defined by the client device. <br> - This
   * value must be supplied by your GSM/GPRS airtime service provider. <br> - The terminating null
   * ('0') need not be included in the payload
   */
  public static final int PROP_COMM_APN_PASSWORD = 0xF3A9;

  /**
   * Contains the property value for the general communication settings [optional]. <br>
   * Value: <br>
   * 0:X - [ASCIIZ] communication settings as required by the client device. <br>
   * Special data length rules: <br> - A 0-length value indicates that the APN settings are not
   * available. <br>
   * Notes: <br> - The format of this ASCIIZ value is defined by the client device. <br> - This
   * value must be supplied by your GSM/GPRS airtime service provider. <br> - The terminating null
   * ('0') need not be included in the payload
   */
  public static final int PROP_COMM_APN_SETTINGS = 0xF3AA;

  /**
   * Contains the property value designating if server supports custom formats for this client
   * [optional]. <br>
   * Value: <br>
   * 0:1 - 1 if server supports custom formats, 0 otherwise. <br>
   * Special data length rules: <br> - A 0-length value indicates that custom formats are not
   * supported. <br>
   * Notes: <br> - This is a hint to whether or not the DMT service provider will support <br>
   * custom formats from this device.
   */
  public static final int PROP_COMM_CUSTOM_FORMATS = 0xF3C0;

  /**
   * Contains the property value for the mask indicating the encodings supported by the server
   * [optional]. <br>
   * Value: <br>
   * 0:1 - Bitmask indicating supported encodings <br>
   * 0x01 - Binary (always true) <br>
   * 0x02 - Ascii Base64 (always true) <br>
   * 0x04 - Ascii Hex (always true) <br>
   * 0x08 - Ascii CSV (server support is optional) <br>
   * 0xF0 - reserved <br>
   * Special data length rules: <br> - All servers must support Binary, Ascii Hex, and Ascii Base64.
   * <br> - Server support for CSV is optional. <br>
   * Notes: <br> - This is a hint to whether or not the DMT service provider will support <br>
   * the specified encoding for this device. <br> - Since Binay, Hex, and Base64 must be supported
   * by the DMT service <br>
   * provider, this essentially indicate whether the encoding CSV is supported <br>
   * by the DMT service provider.
   */
  public static final int PROP_COMM_ENCODINGS = 0xF3C1;
  /**
   * Contains the property value for the number of bytes read by client [optional]. <br>
   * Value: <br>
   * 0:4 - [UInt32] read byte count <br>
   * Valid range: 0 to 4294967295 <br>
   * Notes: <br> - This is for information purposes only and the client is not required <br>
   * to implement this property.
   */

  public static final int PROP_COMM_BYTES_READ = 0xF3F1;

  /**
   * Contains the property value for the number of bytes written by client [optional]. <br>
   * Value: <br>
   * 0:4 - [UInt32] write byte count <br>
   * Valid range: 0 to 4294967295 <br>
   * Notes: <br> - This is for information purposes only and the client is not required <br>
   * to implement this property.
   */
  public static final int PROP_COMM_BYTES_WRITTEN = 0xF3F2;

  // ----------------------------------------------------------------------------
  // GPS config properties:

  /**
   * Contains the property value for the GPS sample interval. <br>
   * Value: <br>
   * 0:2 - [UInt16] Number of seconds between GPS sampling <br>
   * Valid range: 1 to 65535 seconds (the effect of 0 is defined by the client) <br>
   * Special data length rules: <br> - The client/server must send at least 1 byte. <br>
   * Notes: <br> - This value represent the amount of time to wait between GPS <br>
   * location acquisition and analysis. This value is typically a <br>
   * short amount of time, somewhere between 5 and 30 seconds
   */
  public static final int PROP_GPS_SAMPLE_RATE = 0xF511;

  /**
   * Contains the property value for the amount of time to block when waiting for a current GPS fix.
   * <br>
   * Value: <br>
   * 0:2 - [UInt16] Number of milliseconds to block <br>
   * Valid range: 1 to 65535 milliseconds <br>
   * The effect of 0 is defined by the client, but would typically mean <br>
   * that last valid fix should be immediately used. <br>
   * Special data length rules: <br> - The client/server must send at least 1 byte. <br>
   * Notes: <br> - This value respresent the amount of time to block waiting for <br>
   * a valid current GPS fix. <br> - This value should be in the range of 0 to 5000 milliseconds.
   * <br> - '0' is defined by the client, but typically means that last valid fix should <br>
   * be immediately used.
   */
  public static final int PROP_GPS_AQUIRE_WAIT = 0xF512;

  /**
   * Contains the property value for the GPS expiration. <br>
   * Value: <br>
   * 0:2 - [UInt16] Number of seconds after which the GPS fix is considered stale <br>
   * Valid range: 1 to 65535 sec (0 means this feature is disabled) <br>
   * Special data length rules: <br> - The value should be at least 1 byte. <br>
   * Notes: <br> - The behavior of the client when a GPS fix has expired is unspecified. <br>
   * The client may wish to send a diagnostic/error message to the server.
   */
  public static final int PROP_GPS_EXPIRATION = 0xF513;

  /**
   * Contains the property value for the GPS accuracy threshold [optional]. <br>
   * Value: <br>
   * 0:2 - [UInt16] GPS accuracy threshold in 0.1 meters units <br>
   * Valid range: 0.1 to 6553.5 meters (0.0 means the feature is not supported) <br>
   * Special data length rules: <br> - The value should be 2 bytes. A 0-length value indicates that
   * the feature <br>
   * is not supported. <br>
   * Notes: <br> - A GPS fix will be rejected if it's accuracy falls outside this threshold. <br>
   * For example, if the value is set to 800 (ie 80.0 meters) and the accuracy <br>
   * of a given GPS fix is determined to be 1000 (ie. 100.0 meters), then the GPS <br>
   * fix should be rejected and another GPS fix should be acquired. <br> - Support for this property
   * is optional (not all clients may have the <br>
   * ability to determine the accuracy of a GPS fix). The client may return the <br>
   * error DIAG_PROPERTY_INVALID_ID if it cannot support this property.
   */
  public static final int PROP_GPS_ACCURACY = 0xF521;

  /**
   * Contains the property value for the GPS minimum speed. <br>
   * Value: <br>
   * 0:2 - [UInt16] Minimum GPS speed in 0.1 KPH units <br>
   * Valid range: 0.0 to 6553.5 kph (0.0 means no minimum speed) <br>
   * Special data length rules: <br> - A 0-length value indicates no minimum speed <br>
   * Notes: <br> - GPS reported speed values less-than, or equals-to, this value will be <br>
   * considered stopped and will be reported in location events as 0 KPH. <br> - The purpose of this
   * property is to adjust for inaccuracies in some <br>
   * GPS modules which can report a significant speed value, even when the <br>
   * device is not moving.
   */
  public static final int PROP_GPS_MIN_SPEED = 0xF522;

  /**
   * Contains the property value for the distance delta. <br>
   * Value: <br>
   * 0:4 - [UInt32] The minimum distance that the device has to move (in <br>
   * 0.1 meter units) for distance (ie. odometer) accumulation <br>
   * Valid range: 0.1 to 429496729.5 meters (however, the client may impose a minimum) <br>
   * Special data length rules: <br> - The effect of a 0-length value is defined by the client. <br>
   * Notes: <br> - The device must move this number of deci-meters (0.1 meters) before a distance
   * <br>
   * accumulation (ie. odometer) is performed. The new GPS fix will then be stored <br>
   * in PROP_ODOMETER_0_GPS <br> - This value should be larger than the accuracy capability of the
   * GPS module. <br>
   * Setting this value too low (eg. 20.0 meters) may cause the device to accumulate <br>
   * distance even though the device isn't moving. The value should not be less <br>
   * than the value specified for PROP_GPS_ACCURACY. For non-WAAS enabled GPS <br>
   * modules, this value probably should be less that 500.0 meters. For WAAS <br>
   * enabled modules, this value could probably be around 200.0 meters. Experiment <br>
   * with this and check the results for yourself. <br> - This value effect all accumulated odometer
   * values.
   */
  public static final int PROP_GPS_DISTANCE_DELTA = 0xF531;

  // ----------------------------------------------------------------------------
  // Geofence properties:

  /**
   * Contains the property value for the Command[WO]: GeoZone admin [optional]. <br>
   * Set Value: <br>
   * 0:1 - Admin command type <br>
   * 0x10 Add GeoZone list to table <br>
   * 0x20 Remove specified GeoZone(terminal) ID from table <br>
   * 0x30 Save GeoZone table to predefined location. <br>
   * 0x10: Add GeoZone list to table <br>
   * 1:2 - Zone-ID (currently limited to a 2 byte value) <br>
   * 3:2 - bits 0:3 type <br>
   * bits 3:13 radius (meters) <br>
   * 5:6 - Encoded Latitude/Longitude #1 <br>
   * 11:6 - Encoded Latitude/Longitude #2 <br>
   * The above template may be repeated up to 15 times per packet. <br>
   * 0x20: Remove specified GeoZone(terminal) ID from table <br>
   * 1:2 - Zone-ID <br>
   * If 0xFFFF is specified for the Zone-ID, then all points will be removed <br>
   * 0x30: Save GeoZone table to predefined location. <br>
   * X:X - Payload will be ignored <br>
   * Notes: <br> - The the method used for storing GeoZones/Geofences may necessarily <br>
   * be very dependent on the client device on which OpenDMTP resides. <br>
   * The above represents a standard extension for those client devices <br>
   * that are able to support this type of GeoZone/Geofence format. If <br>
   * the client device is unable to support this format and wishes to <br>
   * implement its own custom method for GeoZone/Geofence detection, then <br>
   * it should always respond with the COMMAND_FEATURE_NOT_SUPPORTED if <br>
   * this command property is called.
   */
  public static final int PROP_CMD_GEOF_ADMIN = 0xF542;

  /**
   * Contains the property value for the GeoZone table entry count [optional][Read-Only]. <br>
   * Get Value: <br>
   * 0:2 - Number GeoZone entries in table
   */
  public static final int PROP_GEOF_COUNT = 0xF547;

  /**
   * Contains the property value for the GeoZone table version [optional]. <br>
   * Get/Set Value: <br>
   * 0:X - [ASCIIZ] string representing server defined geofence version <br>
   * Special data length rules: <br> - The maximum length of the version string is 20 characters.
   */
  public static final int PROP_GEOF_VERSION = 0xF548;

  /**
   * Contains the property value for the geofence arrival delay in seconds [optional]. <br>
   * Value: <br>
   * 0:2 - [UInt16] Number of seconds that the device must be in a geofence <br>
   * before is is considered "arrived". <br>
   * Notes: <br> - This property prevents devices being marked as 'arrived' when they <br>
   * only passing through.
   */
  public static final int PROP_GEOF_ARRIVE_DELAY = 0xF54A;

  /**
   * Contains the property value for the geofence departure delay in seconds [optional]. <br>
   * Value: <br>
   * 0:2 - [UInt16] Number of seconds that the device must be outside a geofence <br>
   * before is is considered "departed". <br>
   * Notes: <br> - The value for this property is generally small and prevents devices being <br>
   * marked as 'departed' when they only left briefly. This is generally only <br>
   * necessary to prevent oddball bouncing GPS locations from causing multiple <br>
   * improper arrival/departure messages.
   */
  public static final int PROP_GEOF_DEPART_DELAY = 0xF54D;

  /**
   * Contains the property value for the geofence ID in which the device is sitting [optional]. <br>
   * Value: <br>
   * 0:4 - [UInt32] Geofence ID <br>
   * Valid range: 0x00000000 to 0xFFFFFFFF (0 means not in a geofence). <br>
   * Notes: <br> - This value should generally be set by the device itself at it enters or <br>
   * leave pre-defined geofenced areas.
   */
  public static final int PROP_GEOF_CURRENT = 0xF551;

  // ----------------------------------------------------------------------------
  // GeoCorr properties:

  // Reserved for future use:
  // public static final int PROP_CMD_GEOC_ADMIN = 0xF562;
  // public static final int PROP_GEOC_VERSION = 0xF568;

  /**
   * Contains the property value for the number of seconds between geofence, during a sustained
   * geofence violation [optional]. <br>
   * violation events. <br>
   * Value: <br>
   * 0:2 - [UInt16] Number of seconds between geofence violation events. <br>
   * Valid range: 30 to 65535 seconds. <br>
   * Notes: <br> - This value represents the interval (in seconds) between geofence violation <br>
   * events during a sustained geofence violation.
   */

  public static final int PROP_GEOC_VIOLATION_INTRVL = 0xF56A;

  /**
   * Contains the property value for the maximum number of geofence violation messages to send. <br>
   * Value: <br>
   * 0:2 - [UInt16] Maximum number of violation messages to send during a geofence <br>
   * violation. <br>
   * Valid range: 1 to 65535 events (0 indefinite) <br>
   * Special data length rules: <br> - A 0-length value indicates that the violation message count
   * is indefinite. <br>
   * Notes: <br> - This value represents the number of geofence violation events that should <br>
   * be sent once the device has determined that a geofence violation has occurred.
   */
  public static final int PROP_GEOC_VIOLATION_COUNT = 0xF56D;

  /**
   * Contains the property value for the active Geofence ID. <br>
   * Value: <br>
   * 0:4 - [UInt32] Active Geofence ID <br>
   * Valid range: 0x00000000 to 0xFFFFFFFF (0 means no geofence is active). <br>
   * Note: <br> - This is typically used for identifying an active alarm state geofence. <br> - This
   * value may be set by the device itself as it determines neccesary <br>
   * as it enters or leaves predefined geofenced areas.
   */

  public static final int PROP_GEOC_ACTIVE = 0xF571;

  // ----------------------------------------------------------------------------
  // Motion properties:

  /**
   * Contains the property value for the motion start type. <br>
   * Value: <br>
   * 0:1 - [UInt8] Motion start type <br>
   * Valid values: 0=kph, 1=meters moved, 2 to 255 are reserved. <br>
   * Special data length rules: <br> - A 0-length value implies a motion start type of '0' (KPH).
   * <br>
   * Notes: <br> - This property defines the meaning of the value for the property <br>
   * PROP_MOTION_START. If this value is '0', then motion-start is defined <br>
   * if KPH. If this value is '1', then motion-start is defined in the <br>
   * number of meters moved.
   */
  public static final int PROP_MOTION_START_TYPE = 0xF711;

  /**
   * Contains the property value for the motion start definition. <br>
   * Value: <br>
   * 0:2 - [UInt16] Definition of start of motion in 0.1 KPH/Meters units <br>
   * Valid range: 0.1 to 6553.5 kph/meters (0.0 means this feature is inactive) <br>
   * Special data length rules: <br> - The 0-length value implies that motion start has not yet been
   * defined. <br>
   * Notes: <br> - A value of 0 means that stop/stop motion events are not currently enabled. <br> -
   * Whether this value is interpreted as KPH or Meters depends on the value <br>
   * of the property PROP_MOTION_START_TYPE.
   */

  public static final int PROP_MOTION_START = 0xF712;

  /**
   * Contains the property value for the in-motion interval. <br>
   * Value: <br>
   * 0:2 - [UInt16] Number of seconds between in-motion events <br>
   * Valid range: 0 to 65535 seconds (0 means this feature is inactive) <br>
   * Special data length rules: <br> - A 0-length value implies that the in-motion interval is not
   * defined. <br>
   * Notes: <br> - A value of 0 means that no in-motion events are to be generated.
   */
  public static final int PROP_MOTION_IN_MOTION = 0xF713;

  /**
   * Contains the property value for the motion stop definition. <br>
   * Value: <br>
   * 0:2 - [UInt16] Definition of end of motion in number of seconds (1 to 65535 sec) <br>
   * Special data length rules: <br>
   * none
   */
  public static final int PROP_MOTION_STOP = 0xF714;

  /**
   * Contains the property value for the motion stop type. <br>
   * Value: <br>
   * 0:1 - [UInt8] Motion start type <br>
   * Valid values: 0=after_delay, 1=when_stopped, 2 to 255 are reserved. <br>
   * Special data length rules: <br> - A 0-length value implies a motion start type of '0'
   * (after_delay). <br>
   * Notes: <br> - This property defines the effect of the value for the property <br>
   * PROP_MOTION_STOP. If this value is '0', then the stop-motion event will be <br>
   * generated with a timestamp at the time the PROP_MOTION_STOP timer has expired. <br>
   * Also in-motion messated will be generated on a scheduled interval until the <br>
   * stop-motion event is generated. If this value is '1', then the timestamp of <br>
   * the generated stop-motion event will be the time that the vehicle actually <br>
   * stopped (the stop-motion event is delayed until the stopped timer is expired). <br>
   * Also, in-motion event will only be generated if the vehicle is actually in <br>
   * motion at the time the in-motion event is to be generated.
   */
  public static final int PROP_MOTION_STOP_TYPE = 0xF715;

  /**
   * Contains the property value for the dormant interval. <br>
   * Value: <br>
   * 0:4 - [UInt32] Number of seconds between dormant events (1 to 4294967295 sec) <br>
   * Valid range: 0 to 4294967296 seconds (0 means no dormant messages) <br>
   * Special data length rules: <br> - A 0-length value indicates that dormant events are disabled.
   * <br>
   * Notes: <br> - This value represents the interval (in seconds) between dormant events <br>
   * once the device has determined that it is no longer moving. The number of <br>
   * dormant messages sent is defined by the property PROP_MOTION_DORMANT_COUNT.
   */
  public static final int PROP_MOTION_DORMANT_INTRVL = 0xF716;

  /**
   * Contains the property value for the maximum number of dormant messages to send. <br>
   * Value: <br>
   * 0:2 - [UInt16] Maximum number of dormant messages to send during dormancy <br>
   * Valid range: 0 to 65535 events (0 indefinite) <br>
   * Special data length rules: <br> - A 0-length value indicates that the dormant message count is
   * indefinite. <br>
   * Notes: <br> - This value represents the number of dormant messages that should be <br>
   * sent once the device has determined that it is no longer moving. <br>
   * Typically, this value is 0 (indefinite), however it may be desirable to <br>
   * have a limited number of dormant messages sent by the client.
   */
  public static final int PROP_MOTION_DORMANT_COUNT = 0xF717;
  /**
   * Contains the property value for excess speed. <br>
   * Value: <br>
   * 0:2 - [UInt16] Definition of excess speed in 0.1 KPH units <br>
   * Valid range: 0.1 to 6553.5 KPH (0 means this feature is disabled) <br>
   * Special data length rules: <br> - A 0-length value indicates that this feature is disabled <br>
   * Notes: <br> - An excess speed event will be generated if the current speed exceeds this <br>
   * value
   */
  public static final int PROP_MOTION_EXCESS_SPEED = 0xF721; // Excess speed (0.1 kph)

  // ----------------------------------------------------------------------------
  // Odometer properties:

  /**
   * Contains the property value for the device odometer/tripometer #0 (0.1 meter units) [optional].
   * <br>
   * Value: <br>
   * 0:4 - [UInt32] Number of deci-meters (ie. 0.1 meters) that the device has <br>
   * moved since the value was last reset. <br>
   * Value range 0.1 to 429496729.5 meters. <br>
   * Special data length rules: <br> - The client must respond with at least the minimum number of
   * bytes <br>
   * required to accurately respresent the number of meters travelled. A <br>
   * 0-length value will considered as the value '0'. <br>
   * Notes: <br> - PROP_ODOMETER_0_VALUE should be used to represent the number of 0.1 meters moved
   * <br>
   * since the device was put into service. This odometer may be read-only. <br> -
   * PROP_ODOMETER_1..7 may be used for special 'tripometer' applications.
   */
  public static final int PROP_ODOMETER_0_VALUE = 0xF770;
  /**
   * Contains the property value for the device odometer/tripometer #1 (0.1 meter units) [optional].
   * <br>
   * Value: <br>
   * 0:4 - [UInt32] Number of deci-meters (ie. 0.1 meters) that the device has <br>
   * moved since the value was last reset. <br>
   * Value range 0.1 to 429496729.5 meters. <br>
   * Special data length rules: <br> - The client must respond with at least the minimum number of
   * bytes <br>
   * required to accurately respresent the number of meters travelled. A <br>
   * 0-length value will considered as the value '0'. <br>
   * Notes: <br> - PROP_ODOMETER_0_VALUE should be used to represent the number of 0.1 meters moved
   * <br>
   * since the device was put into service. This odometer may be read-only. <br> -
   * PROP_ODOMETER_1..7 may be used for special 'tripometer' applications.
   */
  public static final int PROP_ODOMETER_1_VALUE = 0xF771;
  /**
   * Contains the property value for the device odometer/tripometer #2 (0.1 meter units) [optional].
   * <br>
   * Value: <br>
   * 0:4 - [UInt32] Number of deci-meters (ie. 0.1 meters) that the device has <br>
   * moved since the value was last reset. <br>
   * Value range 0.1 to 429496729.5 meters. <br>
   * Special data length rules: <br> - The client must respond with at least the minimum number of
   * bytes <br>
   * required to accurately respresent the number of meters travelled. A <br>
   * 0-length value will considered as the value '0'. <br>
   * Notes: <br> - PROP_ODOMETER_0_VALUE should be used to represent the number of 0.1 meters moved
   * <br>
   * since the device was put into service. This odometer may be read-only. <br> -
   * PROP_ODOMETER_1..7 may be used for special 'tripometer' applications.
   */
  public static final int PROP_ODOMETER_2_VALUE = 0xF772;
  /**
   * Contains the property value for the device odometer/tripometer #3 (0.1 meter units) [optional].
   * <br>
   * Value: <br>
   * 0:4 - [UInt32] Number of deci-meters (ie. 0.1 meters) that the device has <br>
   * moved since the value was last reset. <br>
   * Value range 0.1 to 429496729.5 meters. <br>
   * Special data length rules: <br> - The client must respond with at least the minimum number of
   * bytes <br>
   * required to accurately respresent the number of meters travelled. A <br>
   * 0-length value will considered as the value '0'. <br>
   * Notes: <br> - PROP_ODOMETER_0_VALUE should be used to represent the number of 0.1 meters moved
   * <br>
   * since the device was put into service. This odometer may be read-only. <br> -
   * PROP_ODOMETER_1..7 may be used for special 'tripometer' applications.
   */
  public static final int PROP_ODOMETER_3_VALUE = 0xF773;
  /**
   * Contains the property value for the device odometer/tripometer #4 (0.1 meter units) [optional].
   * <br>
   * Value: <br>
   * 0:4 - [UInt32] Number of deci-meters (ie. 0.1 meters) that the device has <br>
   * moved since the value was last reset. <br>
   * Value range 0.1 to 429496729.5 meters. <br>
   * Special data length rules: <br> - The client must respond with at least the minimum number of
   * bytes <br>
   * required to accurately respresent the number of meters travelled. A <br>
   * 0-length value will considered as the value '0'. <br>
   * Notes: <br> - PROP_ODOMETER_0_VALUE should be used to represent the number of 0.1 meters moved
   * <br>
   * since the device was put into service. This odometer may be read-only. <br> -
   * PROP_ODOMETER_1..7 may be used for special 'tripometer' applications.
   */
  public static final int PROP_ODOMETER_4_VALUE = 0xF774;
  /**
   * Contains the property value for the device odometer/tripometer #5 (0.1 meter units) [optional].
   * <br>
   * Value: <br>
   * 0:4 - [UInt32] Number of deci-meters (ie. 0.1 meters) that the device has <br>
   * moved since the value was last reset. <br>
   * Value range 0.1 to 429496729.5 meters. <br>
   * Special data length rules: <br> - The client must respond with at least the minimum number of
   * bytes <br>
   * required to accurately represent the number of meters travelled. A <br>
   * 0-length value will considered as the value '0'. <br>
   * Notes: <br> - PROP_ODOMETER_0_VALUE should be used to represent the number of 0.1 meters moved
   * <br>
   * since the device was put into service. This odometer may be read-only. <br> -
   * PROP_ODOMETER_1..7 may be used for special 'tripometer' applications.
   */
  public static final int PROP_ODOMETER_5_VALUE = 0xF775;
  /**
   * Contains the property value for the device odometer/tripometer #6 (0.1 meter units) [optional].
   * <br>
   * Value: <br>
   * 0:4 - [UInt32] Number of deci-meters (ie. 0.1 meters) that the device has <br>
   * moved since the value was last reset. <br>
   * Value range 0.1 to 429496729.5 meters. <br>
   * Special data length rules: <br> - The client must respond with at least the minimum number of
   * bytes <br>
   * required to accurately respresent the number of meters travelled. A <br>
   * 0-length value will considered as the value '0'. <br>
   * Notes: <br> - PROP_ODOMETER_0_VALUE should be used to represent the number of 0.1 meters moved
   * <br>
   * since the device was put into service. This odometer may be read-only. <br> -
   * PROP_ODOMETER_1..7 may be used for special 'tripometer' applications.
   */
  public static final int PROP_ODOMETER_6_VALUE = 0xF776;
  /**
   * Contains the property value for the device odometer/tripometer #7 (0.1 meter units) [optional].
   * <br>
   * Value: <br>
   * 0:4 - [UInt32] Number of deci-meters (ie. 0.1 meters) that the device has <br>
   * moved since the value was last reset. <br>
   * Value range 0.1 to 429496729.5 meters. <br>
   * Special data length rules: <br> - The client must respond with at least the minimum number of
   * bytes <br>
   * required to accurately respresent the number of meters travelled. A <br>
   * 0-length value will considered as the value '0'. <br>
   * Notes: <br> - PROP_ODOMETER_0_VALUE should be used to represent the number of 0.1 meters moved
   * <br>
   * since the device was put into service. This odometer may be read-only. <br> -
   * PROP_ODOMETER_1..7 may be used for special 'tripometer' applications.
   */
  public static final int PROP_ODOMETER_7_VALUE = 0xF777;

  /**
   * Contains the property value for the device odometer/tripometer triggered alarm point #0 (0.1
   * meter units) [optional]. <br>
   * Value: <br>
   * 0:4 - [UInt32] Once the client has achieved this number of deci-meters <br>
   * (ie. 0.1 meters) it should trigger a corresponding STATUS_ODOM_LIMIT_# event <br>
   * Value range 0.1 to 429496729.5 meters. <br>
   * Special data length rules: <br> - The client must respond with at least the minimum number of
   * bytes required <br>
   * to accurately respresent the value. <br>
   * Notes: <br> - A value of '0' indicates that no alarm/event will be generated. <br> - Once this
   * limit is reached, the client should issue a corresponding <br>
   * STATUS_ODOM_LIMIT_# event, however, the decision to reset the odometer or <br>
   * continue to count is left to the client.
   */
  public static final int PROP_ODOMETER_0_LIMIT = 0xF780;
  /**
   * Contains the property value for the device odometer/tripometer triggered alarm point #1 (0.1
   * meter units) [optional]. <br>
   * Value: <br>
   * 0:4 - [UInt32] Once the client has achieved this number of deci-meters <br>
   * (ie. 0.1 meters) it should trigger a corresponding STATUS_ODOM_LIMIT_# event <br>
   * Value range 0.1 to 429496729.5 meters. <br>
   * Special data length rules: <br> - The client must respond with at least the minimum number of
   * bytes required <br>
   * to accurately respresent the value. <br>
   * Notes: <br> - A value of '0' indicates that no alarm/event will be generated. <br> - Once this
   * limit is reached, the client should issue a corresponding <br>
   * STATUS_ODOM_LIMIT_# event, however, the decision to reset the odometer or <br>
   * continue to count is left to the client.
   */
  public static final int PROP_ODOMETER_1_LIMIT = 0xF781;
  /**
   * Contains the property value for the device odometer/tripometer triggered alarm point #2 (0.1
   * meter units) [optional]. <br>
   * Value: <br>
   * 0:4 - [UInt32] Once the client has achieved this number of deci-meters <br>
   * (ie. 0.1 meters) it should trigger a corresponding STATUS_ODOM_LIMIT_# event <br>
   * Value range 0.1 to 429496729.5 meters. <br>
   * Special data length rules: <br> - The client must respond with at least the minimum number of
   * bytes required <br>
   * to accurately respresent the value. <br>
   * Notes: <br> - A value of '0' indicates that no alarm/event will be generated. <br> - Once this
   * limit is reached, the client should issue a corresponding <br>
   * STATUS_ODOM_LIMIT_# event, however, the decision to reset the odometer or <br>
   * continue to count is left to the client.
   */
  public static final int PROP_ODOMETER_2_LIMIT = 0xF782;
  /**
   * Contains the property value for the device odometer/tripometer triggered alarm point #3 (0.1
   * meter units) [optional]. <br>
   * Value: <br>
   * 0:4 - [UInt32] Once the client has achieved this number of deci-meters <br>
   * (ie. 0.1 meters) it should trigger a corresponding STATUS_ODOM_LIMIT_# event <br>
   * Value range 0.1 to 429496729.5 meters. <br>
   * Special data length rules: <br> - The client must respond with at least the minimum number of
   * bytes required <br>
   * to accurately respresent the value. <br>
   * Notes: <br> - A value of '0' indicates that no alarm/event will be generated. <br> - Once this
   * limit is reached, the client should issue a corresponding <br>
   * STATUS_ODOM_LIMIT_# event, however, the decision to reset the odometer or <br>
   * continue to count is left to the client.
   */
  public static final int PROP_ODOMETER_3_LIMIT = 0xF783;
  /**
   * Contains the property value for the device odometer/tripometer triggered alarm point #4 (0.1
   * meter units) [optional]. <br>
   * Value: <br>
   * 0:4 - [UInt32] Once the client has achieved this number of deci-meters <br>
   * (ie. 0.1 meters) it should trigger a corresponding STATUS_ODOM_LIMIT_# event <br>
   * Value range 0.1 to 429496729.5 meters. <br>
   * Special data length rules: <br> - The client must respond with at least the minimum number of
   * bytes required <br>
   * to accurately respresent the value. <br>
   * Notes: <br> - A value of '0' indicates that no alarm/event will be generated. <br> - Once this
   * limit is reached, the client should issue a corresponding <br>
   * STATUS_ODOM_LIMIT_# event, however, the decision to reset the odometer or <br>
   * continue to count is left to the client.
   */
  public static final int PROP_ODOMETER_4_LIMIT = 0xF784;
  /**
   * Contains the property value for the device odometer/tripometer triggered alarm point #5 (0.1
   * meter units) [optional]. <br>
   * Value: <br>
   * 0:4 - [UInt32] Once the client has achieved this number of deci-meters <br>
   * (ie. 0.1 meters) it should trigger a corresponding STATUS_ODOM_LIMIT_# event <br>
   * Value range 0.1 to 429496729.5 meters. <br>
   * Special data length rules: <br> - The client must respond with at least the minimum number of
   * bytes required <br>
   * to accurately respresent the value. <br>
   * Notes: <br> - A value of '0' indicates that no alarm/event will be generated. <br> - Once this
   * limit is reached, the client should issue a corresponding <br>
   * STATUS_ODOM_LIMIT_# event, however, the decision to reset the odometer or <br>
   * continue to count is left to the client.
   */
  public static final int PROP_ODOMETER_5_LIMIT = 0xF785;
  /**
   * Contains the property value for the device odometer/tripometer triggered alarm point #6 (0.1
   * meter units) [optional]. <br>
   * Value: <br>
   * 0:4 - [UInt32] Once the client has achieved this number of deci-meters <br>
   * (ie. 0.1 meters) it should trigger a corresponding STATUS_ODOM_LIMIT_# event <br>
   * Value range 0.1 to 429496729.5 meters. <br>
   * Special data length rules: <br> - The client must respond with at least the minimum number of
   * bytes required <br>
   * to accurately respresent the value. <br>
   * Notes: <br> - A value of '0' indicates that no alarm/event will be generated. <br> - Once this
   * limit is reached, the client should issue a corresponding <br>
   * STATUS_ODOM_LIMIT_# event, however, the decision to reset the odometer or <br>
   * continue to count is left to the client.
   */
  public static final int PROP_ODOMETER_6_LIMIT = 0xF786;
  /**
   * Contains the property value for the device odometer/tripometer triggered alarm point #7 (0.1
   * meter units) [optional]. <br>
   * Value: <br>
   * 0:4 - [UInt32] Once the client has achieved this number of deci-meters <br>
   * (ie. 0.1 meters) it should trigger a corresponding STATUS_ODOM_LIMIT_# event <br>
   * Value range 0.1 to 429496729.5 meters. <br>
   * Special data length rules: <br> - The client must respond with at least the minimum number of
   * bytes required <br>
   * to accurately respresent the value. <br>
   * Notes: <br> - A value of '0' indicates that no alarm/event will be generated. <br> - Once this
   * limit is reached, the client should issue a corresponding <br>
   * STATUS_ODOM_LIMIT_# event, however, the decision to reset the odometer or <br>
   * continue to count is left to the client.
   */
  public static final int PROP_ODOMETER_7_LIMIT = 0xF787;

  /**
   * Contains the property value for the device odometer GPS #0 (point of last odometer GPS fix)
   * [optional]. <br>
   * Value: <br>
   * 0:4 - [UInt32] GPS fix time <br>
   * Valid value is defined by the current time <br>
   * 4:4 - [UInt32] high-resolution encoded latitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * 8:4 - [UInt32] high-resolution encoded longitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * or <br>
   * 0:4 - [UInt32] GPS fix time <br>
   * Valid value is defined by the current time <br>
   * 4:3 - [UInt24] standard-resolution encoded latitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * 7:3 - [UInt24] standard-resolution encoded longitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * Special data length rules: <br> - The client must respond with either a 10-byte or 12-byte
   * length. <br> - The server must send either a 10-byte or 12-byte length, depending on <br>
   * which lat/lon encoding the server has determined that the client supports. <br>
   * Notes: <br> - Depending on the degree of accuracy that the client wishes to provide, <br>
   * the client may return either a 6-byte, or 8-byte, encoded Lat/Long. <br> - Typically this
   * property is read-only, however this is enforced by <br>
   * the client, not the server. The client may allow this value to be set <br>
   * if necessary. <br> - Client note: If the client supports setting this property, but does not
   * <br>
   * support the high-resolution encoding of the Lat/Lon, it should then <br>
   * return error 0xF112 (Invalid property value) if the server attempts to <br>
   * set the GPS value using a high-resolution encoded Lat/Lon. <br> - Server note: The server will
   * infer from the length of the data payload <br>
   * which type of encoding is used. A data payload of 10 bytes will indicate <br>
   * a standard-resolution encoding, and a length of 12 bytes will indicating <br>
   * a high-resolution encoding. <br> - Server note: If the server wishes to set this property on
   * the client, <br>
   * it will need to be aware that the client may not support setting this <br>
   * value, or may not support the high resolution encoding of the lat/long. <br>
   * The server may infer the resolution supported by the client by <br>
   * inspection of the resolution returned by the client in previous event <br>
   * packets or in the retrieval of this property value. If the server attempts <br>
   * to set this property with a high resolution encoded lat/long, and the client <br>
   * returns error 0xF112 (Invalid property value), then the server will <br>
   * know that the property is writable, but the high-resolution encoding is <br>
   * not supported, the server may then wish to re-issue the property change <br>
   * with the standard-resolution encoding.
   */
  public static final int PROP_ODOMETER_0_GPS = 0xF790;
  /**
   * Contains the property value for the device odometer GPS #1 (point of last odometer GPS fix)
   * [optional]. <br>
   * Value: <br>
   * 0:4 - [UInt32] GPS fix time <br>
   * Valid value is defined by the current time <br>
   * 4:4 - [UInt32] high-resolution encoded latitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * 8:4 - [UInt32] high-resolution encoded longitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * or <br>
   * 0:4 - [UInt32] GPS fix time <br>
   * Valid value is defined by the current time <br>
   * 4:3 - [UInt24] standard-resolution encoded latitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * 7:3 - [UInt24] standard-resolution encoded longitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * Special data length rules: <br> - The client must respond with either a 10-byte or 12-byte
   * length. <br> - The server must send either a 10-byte or 12-byte length, depending on <br>
   * which lat/lon encoding the server has determined that the client supports. <br>
   * Notes: <br> - Depending on the degree of accuracy that the client wishes to provide, <br>
   * the client may return either a 6-byte, or 8-byte, encoded Lat/Long. <br> - Typically this
   * property is read-only, however this is enforced by <br>
   * the client, not the server. The client may allow this value to be set <br>
   * if necessary. <br> - Client note: If the client supports setting this property, but does not
   * <br>
   * support the high-resolution encoding of the Lat/Lon, it should then <br>
   * return error 0xF112 (Invalid property value) if the server attempts to <br>
   * set the GPS value using a high-resolution encoded Lat/Lon. <br> - Server note: The server will
   * infer from the length of the data payload <br>
   * which type of encoding is used. A data payload of 10 bytes will indicate <br>
   * a standard-resolution encoding, and a length of 12 bytes will indicating <br>
   * a high-resolution encoding. <br> - Server note: If the server wishes to set this property on
   * the client, <br>
   * it will need to be aware that the client may not support setting this <br>
   * value, or may not support the high resolution encoding of the lat/long. <br>
   * The server may infer the resolution supported by the client by <br>
   * inspection of the resolution returned by the client in previous event <br>
   * packets or in the retrieval of this property value. If the server attempts <br>
   * to set this property with a high resolution encoded lat/long, and the client <br>
   * returns error 0xF112 (Invalid property value), then the server will <br>
   * know that the property is writable, but the high-resolution encoding is <br>
   * not supported, the server may then wish to re-issue the property change <br>
   * with the standard-resolution encoding.
   */
  public static final int PROP_ODOMETER_1_GPS = 0xF791;
  /**
   * Contains the property value for the device odometer GPS #2 (point of last odometer GPS fix)
   * [optional]. <br>
   * Value: <br>
   * 0:4 - [UInt32] GPS fix time <br>
   * Valid value is defined by the current time <br>
   * 4:4 - [UInt32] high-resolution encoded latitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * 8:4 - [UInt32] high-resolution encoded longitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * or <br>
   * 0:4 - [UInt32] GPS fix time <br>
   * Valid value is defined by the current time <br>
   * 4:3 - [UInt24] standard-resolution encoded latitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * 7:3 - [UInt24] standard-resolution encoded longitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * Special data length rules: <br> - The client must respond with either a 10-byte or 12-byte
   * length. <br> - The server must send either a 10-byte or 12-byte length, depending on <br>
   * which lat/lon encoding the server has determined that the client supports. <br>
   * Notes: <br> - Depending on the degree of accuracy that the client wishes to provide, <br>
   * the client may return either a 6-byte, or 8-byte, encoded Lat/Long. <br> - Typically this
   * property is read-only, however this is enforced by <br>
   * the client, not the server. The client may allow this value to be set <br>
   * if necessary. <br> - Client note: If the client supports setting this property, but does not
   * <br>
   * support the high-resolution encoding of the Lat/Lon, it should then <br>
   * return error 0xF112 (Invalid property value) if the server attempts to <br>
   * set the GPS value using a high-resolution encoded Lat/Lon. <br> - Server note: The server will
   * infer from the length of the data payload <br>
   * which type of encoding is used. A data payload of 10 bytes will indicate <br>
   * a standard-resolution encoding, and a length of 12 bytes will indicating <br>
   * a high-resolution encoding. <br> - Server note: If the server wishes to set this property on
   * the client, <br>
   * it will need to be aware that the client may not support setting this <br>
   * value, or may not support the high resolution encoding of the lat/long. <br>
   * The server may infer the resolution supported by the client by <br>
   * inspection of the resolution returned by the client in previous event <br>
   * packets or in the retrieval of this property value. If the server attempts <br>
   * to set this property with a high resolution encoded lat/long, and the client <br>
   * returns error 0xF112 (Invalid property value), then the server will <br>
   * know that the property is writable, but the high-resolution encoding is <br>
   * not supported, the server may then wish to re-issue the property change <br>
   * with the standard-resolution encoding.
   */
  public static final int PROP_ODOMETER_2_GPS = 0xF792;
  /**
   * Contains the property value for the device odometer GPS #3 (point of last odometer GPS fix)
   * [optional]. <br>
   * Value: <br>
   * 0:4 - [UInt32] GPS fix time <br>
   * Valid value is defined by the current time <br>
   * 4:4 - [UInt32] high-resolution encoded latitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * 8:4 - [UInt32] high-resolution encoded longitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * or <br>
   * 0:4 - [UInt32] GPS fix time <br>
   * Valid value is defined by the current time <br>
   * 4:3 - [UInt24] standard-resolution encoded latitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * 7:3 - [UInt24] standard-resolution encoded longitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * Special data length rules: <br> - The client must respond with either a 10-byte or 12-byte
   * length. <br> - The server must send either a 10-byte or 12-byte length, depending on <br>
   * which lat/lon encoding the server has determined that the client supports. <br>
   * Notes: <br> - Depending on the degree of accuracy that the client wishes to provide, <br>
   * the client may return either a 6-byte, or 8-byte, encoded Lat/Long. <br> - Typically this
   * property is read-only, however this is enforced by <br>
   * the client, not the server. The client may allow this value to be set <br>
   * if necessary. <br> - Client note: If the client supports setting this property, but does not
   * <br>
   * support the high-resolution encoding of the Lat/Lon, it should then <br>
   * return error 0xF112 (Invalid property value) if the server attempts to <br>
   * set the GPS value using a high-resolution encoded Lat/Lon. <br> - Server note: The server will
   * infer from the length of the data payload <br>
   * which type of encoding is used. A data payload of 10 bytes will indicate <br>
   * a standard-resolution encoding, and a length of 12 bytes will indicating <br>
   * a high-resolution encoding. <br> - Server note: If the server wishes to set this property on
   * the client, <br>
   * it will need to be aware that the client may not support setting this <br>
   * value, or may not support the high resolution encoding of the lat/long. <br>
   * The server may infer the resolution supported by the client by <br>
   * inspection of the resolution returned by the client in previous event <br>
   * packets or in the retrieval of this property value. If the server attempts <br>
   * to set this property with a high resolution encoded lat/long, and the client <br>
   * returns error 0xF112 (Invalid property value), then the server will <br>
   * know that the property is writable, but the high-resolution encoding is <br>
   * not supported, the server may then wish to re-issue the property change <br>
   * with the standard-resolution encoding.
   */
  public static final int PROP_ODOMETER_3_GPS = 0xF793;
  /**
   * Contains the property value for the device odometer GPS #4 (point of last odometer GPS fix)
   * [optional]. <br>
   * Value: <br>
   * 0:4 - [UInt32] GPS fix time <br>
   * Valid value is defined by the current time <br>
   * 4:4 - [UInt32] high-resolution encoded latitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * 8:4 - [UInt32] high-resolution encoded longitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * or <br>
   * 0:4 - [UInt32] GPS fix time <br>
   * Valid value is defined by the current time <br>
   * 4:3 - [UInt24] standard-resolution encoded latitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * 7:3 - [UInt24] standard-resolution encoded longitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * Special data length rules: <br> - The client must respond with either a 10-byte or 12-byte
   * length. <br> - The server must send either a 10-byte or 12-byte length, depending on <br>
   * which lat/lon encoding the server has determined that the client supports. <br>
   * Notes: <br> - Depending on the degree of accuracy that the client wishes to provide, <br>
   * the client may return either a 6-byte, or 8-byte, encoded Lat/Long. <br> - Typically this
   * property is read-only, however this is enforced by <br>
   * the client, not the server. The client may allow this value to be set <br>
   * if necessary. <br> - Client note: If the client supports setting this property, but does not
   * <br>
   * support the high-resolution encoding of the Lat/Lon, it should then <br>
   * return error 0xF112 (Invalid property value) if the server attempts to <br>
   * set the GPS value using a high-resolution encoded Lat/Lon. <br> - Server note: The server will
   * infer from the length of the data payload <br>
   * which type of encoding is used. A data payload of 10 bytes will indicate <br>
   * a standard-resolution encoding, and a length of 12 bytes will indicating <br>
   * a high-resolution encoding. <br> - Server note: If the server wishes to set this property on
   * the client, <br>
   * it will need to be aware that the client may not support setting this <br>
   * value, or may not support the high resolution encoding of the lat/long. <br>
   * The server may infer the resolution supported by the client by <br>
   * inspection of the resolution returned by the client in previous event <br>
   * packets or in the retrieval of this property value. If the server attempts <br>
   * to set this property with a high resolution encoded lat/long, and the client <br>
   * returns error 0xF112 (Invalid property value), then the server will <br>
   * know that the property is writable, but the high-resolution encoding is <br>
   * not supported, the server may then wish to re-issue the property change <br>
   * with the standard-resolution encoding.
   */
  public static final int PROP_ODOMETER_4_GPS = 0xF794;
  /**
   * Contains the property value for the device odometer GPS #5 (point of last odometer GPS fix)
   * [optional]. <br>
   * Value: <br>
   * 0:4 - [UInt32] GPS fix time <br>
   * Valid value is defined by the current time <br>
   * 4:4 - [UInt32] high-resolution encoded latitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * 8:4 - [UInt32] high-resolution encoded longitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * or <br>
   * 0:4 - [UInt32] GPS fix time <br>
   * Valid value is defined by the current time <br>
   * 4:3 - [UInt24] standard-resolution encoded latitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * 7:3 - [UInt24] standard-resolution encoded longitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * Special data length rules: <br> - The client must respond with either a 10-byte or 12-byte
   * length. <br> - The server must send either a 10-byte or 12-byte length, depending on <br>
   * which lat/lon encoding the server has determined that the client supports. <br>
   * Notes: <br> - Depending on the degree of accuracy that the client wishes to provide, <br>
   * the client may return either a 6-byte, or 8-byte, encoded Lat/Long. <br> - Typically this
   * property is read-only, however this is enforced by <br>
   * the client, not the server. The client may allow this value to be set <br>
   * if necessary. <br> - Client note: If the client supports setting this property, but does not
   * <br>
   * support the high-resolution encoding of the Lat/Lon, it should then <br>
   * return error 0xF112 (Invalid property value) if the server attempts to <br>
   * set the GPS value using a high-resolution encoded Lat/Lon. <br> - Server note: The server will
   * infer from the length of the data payload <br>
   * which type of encoding is used. A data payload of 10 bytes will indicate <br>
   * a standard-resolution encoding, and a length of 12 bytes will indicating <br>
   * a high-resolution encoding. <br> - Server note: If the server wishes to set this property on
   * the client, <br>
   * it will need to be aware that the client may not support setting this <br>
   * value, or may not support the high resolution encoding of the lat/long. <br>
   * The server may infer the resolution supported by the client by <br>
   * inspection of the resolution returned by the client in previous event <br>
   * packets or in the retrieval of this property value. If the server attempts <br>
   * to set this property with a high resolution encoded lat/long, and the client <br>
   * returns error 0xF112 (Invalid property value), then the server will <br>
   * know that the property is writable, but the high-resolution encoding is <br>
   * not supported, the server may then wish to re-issue the property change <br>
   * with the standard-resolution encoding.
   */
  public static final int PROP_ODOMETER_5_GPS = 0xF795;
  /**
   * Contains the property value for the device odometer GPS #6 (point of last odometer GPS fix)
   * [optional]. <br>
   * Value: <br>
   * 0:4 - [UInt32] GPS fix time <br>
   * Valid value is defined by the current time <br>
   * 4:4 - [UInt32] high-resolution encoded latitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * 8:4 - [UInt32] high-resolution encoded longitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * or <br>
   * 0:4 - [UInt32] GPS fix time <br>
   * Valid value is defined by the current time <br>
   * 4:3 - [UInt24] standard-resolution encoded latitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * 7:3 - [UInt24] standard-resolution encoded longitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * Special data length rules: <br> - The client must respond with either a 10-byte or 12-byte
   * length. <br> - The server must send either a 10-byte or 12-byte length, depending on <br>
   * which lat/lon encoding the server has determined that the client supports. <br>
   * Notes: <br> - Depending on the degree of accuracy that the client wishes to provide, <br>
   * the client may return either a 6-byte, or 8-byte, encoded Lat/Long. <br> - Typically this
   * property is read-only, however this is enforced by <br>
   * the client, not the server. The client may allow this value to be set <br>
   * if necessary. <br> - Client note: If the client supports setting this property, but does not
   * <br>
   * support the high-resolution encoding of the Lat/Lon, it should then <br>
   * return error 0xF112 (Invalid property value) if the server attempts to <br>
   * set the GPS value using a high-resolution encoded Lat/Lon. <br> - Server note: The server will
   * infer from the length of the data payload <br>
   * which type of encoding is used. A data payload of 10 bytes will indicate <br>
   * a standard-resolution encoding, and a length of 12 bytes will indicating <br>
   * a high-resolution encoding. <br> - Server note: If the server wishes to set this property on
   * the client, <br>
   * it will need to be aware that the client may not support setting this <br>
   * value, or may not support the high resolution encoding of the lat/long. <br>
   * The server may infer the resolution supported by the client by <br>
   * inspection of the resolution returned by the client in previous event <br>
   * packets or in the retrieval of this property value. If the server attempts <br>
   * to set this property with a high resolution encoded lat/long, and the client <br>
   * returns error 0xF112 (Invalid property value), then the server will <br>
   * know that the property is writable, but the high-resolution encoding is <br>
   * not supported, the server may then wish to re-issue the property change <br>
   * with the standard-resolution encoding.
   */
  public static final int PROP_ODOMETER_6_GPS = 0xF796;
  /**
   * Contains the property value for the device odometer GPS #7 (point of last odometer GPS fix)
   * [optional]. <br>
   * Value: <br>
   * 0:4 - [UInt32] GPS fix time <br>
   * Valid value is defined by the current time <br>
   * 4:4 - [UInt32] high-resolution encoded latitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * 8:4 - [UInt32] high-resolution encoded longitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * or <br>
   * 0:4 - [UInt32] GPS fix time <br>
   * Valid value is defined by the current time <br>
   * 4:3 - [UInt24] standard-resolution encoded latitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * 7:3 - [UInt24] standard-resolution encoded longitude <br>
   * See "Encoding the GPS Latitude/Longitude" <br>
   * Special data length rules: <br> - The client must respond with either a 10-byte or 12-byte
   * length. <br> - The server must send either a 10-byte or 12-byte length, depending on <br>
   * which lat/lon encoding the server has determined that the client supports. <br>
   * Notes: <br> - Depending on the degree of accuracy that the client wishes to provide, <br>
   * the client may return either a 6-byte, or 8-byte, encoded Lat/Long. <br> - Typically this
   * property is read-only, however this is enforced by <br>
   * the client, not the server. The client may allow this value to be set <br>
   * if necessary. <br> - Client note: If the client supports setting this property, but does not
   * <br>
   * support the high-resolution encoding of the Lat/Lon, it should then <br>
   * return error 0xF112 (Invalid property value) if the server attempts to <br>
   * set the GPS value using a high-resolution encoded Lat/Lon. <br> - Server note: The server will
   * infer from the length of the data payload <br>
   * which type of encoding is used. A data payload of 10 bytes will indicate <br>
   * a standard-resolution encoding, and a length of 12 bytes will indicating <br>
   * a high-resolution encoding. <br> - Server note: If the server wishes to set this property on
   * the client, <br>
   * it will need to be aware that the client may not support setting this <br>
   * value, or may not support the high resolution encoding of the lat/long. <br>
   * The server may infer the resolution supported by the client by <br>
   * inspection of the resolution returned by the client in previous event <br>
   * packets or in the retrieval of this property value. If the server attempts <br>
   * to set this property with a high resolution encoded lat/long, and the client <br>
   * returns error 0xF112 (Invalid property value), then the server will <br>
   * know that the property is writable, but the high-resolution encoding is <br>
   * not supported, the server may then wish to re-issue the property change <br>
   * with the standard-resolution encoding.
   */
  public static final int PROP_ODOMETER_7_GPS = 0xF797;

  // ----------------------------------------------------------------------------
  // Digital input/output properties:

  /**
   * Contains the property value for the device elapsed timer triggered alarm point #0 [optional].
   * <br>
   * Value: <br>
   * 0:4 - [UInt32] MSB of elapsed timer <br>
   * 4:4 - [UInt32] LSB of elapsed timer. Once the client has achieved this number of <br>
   * milliseconds it should trigger a corresponding STATUS_ELAPSED_LIMIT_# event. <br>
   * Value range 0.000 and up. <br>
   * Special data length rules: <br> - The client must respond with at least the minimum number of
   * bytes required <br>
   * to accurately respresent the value. <br>
   * Notes: <br> - A value of '0' indicates that no alarm/event will be generated. <br> - This can
   * be considered a single 64-bit integer, if supported by the client. <br> - The high order
   * 32-bits is not necessary unless the timer needs to count <br>
   * beyond 49 days (the limit of a single 32-bit value). <br> - Once this limit is reached, the
   * client should issue a corresponding <br>
   * STATUS_ELAPSED_LIMIT_# event, however, the decision to reset the timer or <br>
   * continue to count is left to the client.
   */
  public static final int PROP_ELAPSED_0_LIMIT = 0xF980;
  /**
   * Contains the property value for the device elapsed timer triggered alarm point #1 [optional].
   * <br>
   * Value: <br>
   * 0:4 - [UInt32] MSB of elapsed timer <br>
   * 4:4 - [UInt32] LSB of elapsed timer. Once the client has achieved this number of <br>
   * milliseconds it should trigger a corresponding STATUS_ELAPSED_LIMIT_# event. <br>
   * Value range 0.000 and up. <br>
   * Special data length rules: <br> - The client must respond with at least the minimum number of
   * bytes required <br>
   * to accurately respresent the value. <br>
   * Notes: <br> - A value of '0' indicates that no alarm/event will be generated. <br> - This can
   * be considered a single 64-bit integer, if supported by the client. <br> - The high order
   * 32-bits is not necessary unless the timer needs to count <br>
   * beyond 49 days (the limit of a single 32-bit value). <br> - Once this limit is reached, the
   * client should issue a corresponding <br>
   * STATUS_ELAPSED_LIMIT_# event, however, the decision to reset the timer or <br>
   * continue to count is left to the client.
   */
  public static final int PROP_ELAPSED_1_LIMIT = 0xF981;
  /**
   * Contains the property value for the device elapsed timer triggered alarm point #2 [optional].
   * <br>
   * Value: <br>
   * 0:4 - [UInt32] MSB of elapsed timer <br>
   * 4:4 - [UInt32] LSB of elapsed timer. Once the client has achieved this number of <br>
   * milliseconds it should trigger a corresponding STATUS_ELAPSED_LIMIT_# event. <br>
   * Value range 0.000 and up. <br>
   * Special data length rules: <br> - The client must respond with at least the minimum number of
   * bytes required <br>
   * to accurately respresent the value. <br>
   * Notes: <br> - A value of '0' indicates that no alarm/event will be generated. <br> - This can
   * be considered a single 64-bit integer, if supported by the client. <br> - The high order
   * 32-bits is not necessary unless the timer needs to count <br>
   * beyond 49 days (the limit of a single 32-bit value). <br> - Once this limit is reached, the
   * client should issue a corresponding <br>
   * STATUS_ELAPSED_LIMIT_# event, however, the decision to reset the timer or <br>
   * continue to count is left to the client.
   */
  public static final int PROP_ELAPSED_2_LIMIT = 0xF982;
  /**
   * Contains the property value for the device elapsed timer triggered alarm point #3 [optional].
   * <br>
   * Value: <br>
   * 0:4 - [UInt32] MSB of elapsed timer <br>
   * 4:4 - [UInt32] LSB of elapsed timer. Once the client has achieved this number of <br>
   * milliseconds it should trigger a corresponding STATUS_ELAPSED_LIMIT_# event. <br>
   * Value range 0.000 and up. <br>
   * Special data length rules: <br> - The client must respond with at least the minimum number of
   * bytes required <br>
   * to accurately respresent the value. <br>
   * Notes: <br> - A value of '0' indicates that no alarm/event will be generated. <br> - This can
   * be considered a single 64-bit integer, if supported by the client. <br> - The high order
   * 32-bits is not necessary unless the timer needs to count <br>
   * beyond 49 days (the limit of a single 32-bit value). <br> - Once this limit is reached, the
   * client should issue a corresponding <br>
   * STATUS_ELAPSED_LIMIT_# event, however, the decision to reset the timer or <br>
   * continue to count is left to the client.
   */
  public static final int PROP_ELAPSED_3_LIMIT = 0xF983;
  /**
   * Contains the property value for the device elapsed timer triggered alarm point #4 [optional].
   * <br>
   * Value: <br>
   * 0:4 - [UInt32] MSB of elapsed timer <br>
   * 4:4 - [UInt32] LSB of elapsed timer. Once the client has achieved this number of <br>
   * milliseconds it should trigger a corresponding STATUS_ELAPSED_LIMIT_# event. <br>
   * Value range 0.000 and up. <br>
   * Special data length rules: <br> - The client must respond with at least the minimum number of
   * bytes required <br>
   * to accurately respresent the value. <br>
   * Notes: <br> - A value of '0' indicates that no alarm/event will be generated. <br> - This can
   * be considered a single 64-bit integer, if supported by the client. <br> - The high order
   * 32-bits is not necessary unless the timer needs to count <br>
   * beyond 49 days (the limit of a single 32-bit value). <br> - Once this limit is reached, the
   * client should issue a corresponding <br>
   * STATUS_ELAPSED_LIMIT_# event, however, the decision to reset the timer or <br>
   * continue to count is left to the client.
   */
  public static final int PROP_ELAPSED_4_LIMIT = 0xF984;
  /**
   * Contains the property value for the device elapsed timer triggered alarm point #5 [optional].
   * <br>
   * Value: <br>
   * 0:4 - [UInt32] MSB of elapsed timer <br>
   * 4:4 - [UInt32] LSB of elapsed timer. Once the client has achieved this number of <br>
   * milliseconds it should trigger a corresponding STATUS_ELAPSED_LIMIT_# event. <br>
   * Value range 0.000 and up. <br>
   * Special data length rules: <br> - The client must respond with at least the minimum number of
   * bytes required <br>
   * to accurately respresent the value. <br>
   * Notes: <br> - A value of '0' indicates that no alarm/event will be generated. <br> - This can
   * be considered a single 64-bit integer, if supported by the client. <br> - The high order
   * 32-bits is not necessary unless the timer needs to count <br>
   * beyond 49 days (the limit of a single 32-bit value). <br> - Once this limit is reached, the
   * client should issue a corresponding <br>
   * STATUS_ELAPSED_LIMIT_# event, however, the decision to reset the timer or <br>
   * continue to count is left to the client.
   */
  public static final int PROP_ELAPSED_5_LIMIT = 0xF985;
  /**
   * Contains the property value for the device elapsed timer triggered alarm point #6 [optional].
   * <br>
   * Value: <br>
   * 0:4 - [UInt32] MSB of elapsed timer <br>
   * 4:4 - [UInt32] LSB of elapsed timer. Once the client has achieved this number of <br>
   * milliseconds it should trigger a corresponding STATUS_ELAPSED_LIMIT_# event. <br>
   * Value range 0.000 and up. <br>
   * Special data length rules: <br> - The client must respond with at least the minimum number of
   * bytes required <br>
   * to accurately respresent the value. <br>
   * Notes: <br> - A value of '0' indicates that no alarm/event will be generated. <br> - This can
   * be considered a single 64-bit integer, if supported by the client. <br> - The high order
   * 32-bits is not necessary unless the timer needs to count <br>
   * beyond 49 days (the limit of a single 32-bit value). <br> - Once this limit is reached, the
   * client should issue a corresponding <br>
   * STATUS_ELAPSED_LIMIT_# event, however, the decision to reset the timer or <br>
   * continue to count is left to the client.
   */
  public static final int PROP_ELAPSED_6_LIMIT = 0xF986;
  /**
   * Contains the property value for the device elapsed timer triggered alarm point #7 [optional].
   * <br>
   * Value: <br>
   * 0:4 - [UInt32] MSB of elapsed timer <br>
   * 4:4 - [UInt32] LSB of elapsed timer. Once the client has achieved this number of <br>
   * milliseconds it should trigger a corresponding STATUS_ELAPSED_LIMIT_# event. <br>
   * Value range 0.000 and up. <br>
   * Special data length rules: <br> - The client must respond with at least the minimum number of
   * bytes required <br>
   * to accurately respresent the value. <br>
   * Notes: <br> - A value of '0' indicates that no alarm/event will be generated. <br> - This can
   * be considered a single 64-bit integer, if supported by the client. <br> - The high order
   * 32-bits is not necessary unless the timer needs to count <br>
   * beyond 49 days (the limit of a single 32-bit value). <br> - Once this limit is reached, the
   * client should issue a corresponding <br>
   * STATUS_ELAPSED_LIMIT_# event, however, the decision to reset the timer or <br>
   * continue to count is left to the client.
   */
  public static final int PROP_ELAPSED_7_LIMIT = 0xF987;

  // ----------------------------------------------------------------------------
  // Sensor configuration properties:

  /**
   * Contains the property value for setting sensor #0 configuration [optional]. <br>
   * Value: <br>
   * 32-bit type: <br>
   * 0:4 - [UInt32] gain <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * 4:4 - [UInt32] offset <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * Special data length rules: <br> - If the length is less-than 8, then the length must be
   * divisible by 2. <br>
   * Each gain/offset value will then be composed of the number of bytes <br>
   * defined by the quotient. <br>
   * Notes: <br> - The units of this value are defined by the client.
   */
  public static final int PROP_SENSOR_CONFIG_0 = 0xFB10; // Set sensor 0 config
  /**
   * Contains the property value for setting sensor #1 configuration [optional]. <br>
   * Value: <br>
   * 32-bit type: <br>
   * 0:4 - [UInt32] gain <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * 4:4 - [UInt32] offset <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * Special data length rules: <br> - If the length is less-than 8, then the length must be
   * divisible by 2. <br>
   * Each gain/offset value will then be composed of the number of bytes <br>
   * defined by the quotient. <br>
   * Notes: <br> - The units of this value are defined by the client.
   */
  public static final int PROP_SENSOR_CONFIG_1 = 0xFB11; // Set sensor 1 config
  /**
   * Contains the property value for setting sensor #2 configuration [optional]. <br>
   * Value: <br>
   * 32-bit type: <br>
   * 0:4 - [UInt32] gain <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * 4:4 - [UInt32] offset <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * Special data length rules: <br> - If the length is less-than 8, then the length must be
   * divisible by 2. <br>
   * Each gain/offset value will then be composed of the number of bytes <br>
   * defined by the quotient. <br>
   * Notes: <br> - The units of this value are defined by the client.
   */
  public static final int PROP_SENSOR_CONFIG_2 = 0xFB12; // Set sensor 2 config
  /**
   * Contains the property value for setting sensor #3 configuration [optional]. <br>
   * Value: <br>
   * 32-bit type: <br>
   * 0:4 - [UInt32] gain <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * 4:4 - [UInt32] offset <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * Special data length rules: <br> - If the length is less-than 8, then the length must be
   * divisible by 2. <br>
   * Each gain/offset value will then be composed of the number of bytes <br>
   * defined by the quotient. <br>
   * Notes: <br> - The units of this value are defined by the client.
   */
  public static final int PROP_SENSOR_CONFIG_3 = 0xFB13; // Set sensor 3 config
  /**
   * Contains the property value for setting sensor #4 configuration [optional]. <br>
   * Value: <br>
   * 32-bit type: <br>
   * 0:4 - [UInt32] gain <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * 4:4 - [UInt32] offset <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * Special data length rules: <br> - If the length is less-than 8, then the length must be
   * divisible by 2. <br>
   * Each gain/offset value will then be composed of the number of bytes <br>
   * defined by the quotient. <br>
   * Notes: <br> - The units of this value are defined by the client.
   */
  public static final int PROP_SENSOR_CONFIG_4 = 0xFB14; // Set sensor 4 config
  /**
   * Contains the property value for setting sensor #5 configuration [optional]. <br>
   * Value: <br>
   * 32-bit type: <br>
   * 0:4 - [UInt32] gain <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * 4:4 - [UInt32] offset <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * Special data length rules: <br> - If the length is less-than 8, then the length must be
   * divisible by 2. <br>
   * Each gain/offset value will then be composed of the number of bytes <br>
   * defined by the quotient. <br>
   * Notes: <br> - The units of this value are defined by the client.
   */
  public static final int PROP_SENSOR_CONFIG_5 = 0xFB15; // Set sensor 5 config
  /**
   * Contains the property value for setting sensor #6 configuration [optional]. <br>
   * Value: <br>
   * 32-bit type: <br>
   * 0:4 - [UInt32] gain <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * 4:4 - [UInt32] offset <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * Special data length rules: <br> - If the length is less-than 8, then the length must be
   * divisible by 2. <br>
   * Each gain/offset value will then be composed of the number of bytes <br>
   * defined by the quotient. <br>
   * Notes: <br> - The units of this value are defined by the client.
   */
  public static final int PROP_SENSOR_CONFIG_6 = 0xFB16; // Set sensor 6 config
  /**
   * Contains the property value for setting sensor #7 configuration [optional]. <br>
   * Value: <br>
   * 32-bit type: <br>
   * 0:4 - [UInt32] gain <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * 4:4 - [UInt32] offset <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * Special data length rules: <br> - If the length is less-than 8, then the length must be
   * divisible by 2. <br>
   * Each gain/offset value will then be composed of the number of bytes <br>
   * defined by the quotient. <br>
   * Notes: <br> - The units of this value are defined by the client.
   */
  public static final int PROP_SENSOR_CONFIG_7 = 0xFB17; // Set sensor 7 config

  /**
   * Contains the property value for setting sensor #0 high/low range [optional]. <br>
   * Value: <br>
   * 32-bit type: <br>
   * 0:4 - [UInt32] Low range <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * 4:4 - [UInt32] High range <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * Special data length rules: <br> - If the length is less-than 8, then the length must be
   * divisible by 2. <br>
   * Each low/high range value will then be composed of the number of bytes <br>
   * defined by the quotient. <br>
   * Notes: <br> - The units of this range is defined by the client.
   */
  public static final int PROP_SENSOR_RANGE_0 = 0xFB20;
  /**
   * Contains the property value for setting sensor #1 high/low range [optional]. <br>
   * Value: <br>
   * 32-bit type: <br>
   * 0:4 - [UInt32] Low range <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * 4:4 - [UInt32] High range <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * Special data length rules: <br> - If the length is less-than 8, then the length must be
   * divisible by 2. <br>
   * Each low/high range value will then be composed of the number of bytes <br>
   * defined by the quotient. <br>
   * Notes: <br> - The units of this range is defined by the client.
   */
  public static final int PROP_SENSOR_RANGE_1 = 0xFB21;
  /**
   * Contains the property value for setting sensor #2 high/low range [optional]. <br>
   * Value: <br>
   * 32-bit type: <br>
   * 0:4 - [UInt32] Low range <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * 4:4 - [UInt32] High range <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * Special data length rules: <br> - If the length is less-than 8, then the length must be
   * divisible by 2. <br>
   * Each low/high range value will then be composed of the number of bytes <br>
   * defined by the quotient. <br>
   * Notes: <br> - The units of this range is defined by the client.
   */
  public static final int PROP_SENSOR_RANGE_2 = 0xFB22;
  /**
   * Contains the property value for setting sensor #3 high/low range [optional]. <br>
   * Value: <br>
   * 32-bit type: <br>
   * 0:4 - [UInt32] Low range <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * 4:4 - [UInt32] High range <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * Special data length rules: <br> - If the length is less-than 8, then the length must be
   * divisible by 2. <br>
   * Each low/high range value will then be composed of the number of bytes <br>
   * defined by the quotient. <br>
   * Notes: <br> - The units of this range is defined by the client.
   */
  public static final int PROP_SENSOR_RANGE_3 = 0xFB23;
  /**
   * Contains the property value for setting sensor #4 high/low range [optional]. <br>
   * Value: <br>
   * 32-bit type: <br>
   * 0:4 - [UInt32] Low range <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * 4:4 - [UInt32] High range <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * Special data length rules: <br> - If the length is less-than 8, then the length must be
   * divisible by 2. <br>
   * Each low/high range value will then be composed of the number of bytes <br>
   * defined by the quotient. <br>
   * Notes: <br> - The units of this range is defined by the client.
   */
  public static final int PROP_SENSOR_RANGE_4 = 0xFB24;
  /**
   * Contains the property value for setting sensor #5 high/low range [optional]. <br>
   * Value: <br>
   * 32-bit type: <br>
   * 0:4 - [UInt32] Low range <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * 4:4 - [UInt32] High range <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * Special data length rules: <br> - If the length is less-than 8, then the length must be
   * divisible by 2. <br>
   * Each low/high range value will then be composed of the number of bytes <br>
   * defined by the quotient. <br>
   * Notes: <br> - The units of this range is defined by the client.
   */
  public static final int PROP_SENSOR_RANGE_5 = 0xFB25;
  /**
   * Contains the property value for setting sensor #6 high/low range [optional]. <br>
   * Value: <br>
   * 32-bit type: <br>
   * 0:4 - [UInt32] Low range <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * 4:4 - [UInt32] High range <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * Special data length rules: <br> - If the length is less-than 8, then the length must be
   * divisible by 2. <br>
   * Each low/high range value will then be composed of the number of bytes <br>
   * defined by the quotient. <br>
   * Notes: <br> - The units of this range is defined by the client.
   */
  public static final int PROP_SENSOR_RANGE_6 = 0xFB26;
  /**
   * Contains the property value for setting sensor #7 high/low range [optional]. <br>
   * Value: <br>
   * 32-bit type: <br>
   * 0:4 - [UInt32] Low range <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * 4:4 - [UInt32] High range <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * Special data length rules: <br> - If the length is less-than 8, then the length must be
   * divisible by 2. <br>
   * Each low/high range value will then be composed of the number of bytes <br>
   * defined by the quotient. <br>
   * Notes: <br> - The units of this range is defined by the client.
   */
  public static final int PROP_SENSOR_RANGE_7 = 0xFB27;

  // ----------------------------------------------------------------------------
  // Temperature configuration:

  /**
   * Contains the property value for setting temperature sensor #0 configuration [optional]. <br>
   * Value: <br>
   * 0:4 - [UInt32] Config 1 <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * 2:4 - [UInt32] Config 2 <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * Special data length rules: <br> - If the length is less-than 8, then the length must be
   * divisible by 2. <br>
   * Each configuration value will then be composed of the number of bytes <br>
   * defined by the quotient.
   */
  public static final int PROP_TEMP_CONFIG_0 = 0xFB70;
  /**
   * Contains the property value for setting temperature sensor #1 configuration [optional]. <br>
   * Value: <br>
   * 0:4 - [UInt32] Config 1 <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * 2:4 - [UInt32] Config 2 <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * Special data length rules: <br> - If the length is less-than 8, then the length must be
   * divisible by 2. <br>
   * Each configuration value will then be composed of the number of bytes <br>
   * defined by the quotient.
   */
  public static final int PROP_TEMP_CONFIG_1 = 0xFB71;
  /**
   * Contains the property value for setting temperature sensor #2 configuration [optional]. <br>
   * Value: <br>
   * 0:4 - [UInt32] Config 1 <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * 2:4 - [UInt32] Config 2 <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * Special data length rules: <br> - If the length is less-than 8, then the length must be
   * divisible by 2. <br>
   * Each configuration value will then be composed of the number of bytes <br>
   * defined by the quotient.
   */
  public static final int PROP_TEMP_CONFIG_2 = 0xFB72;
  /**
   * Contains the property value for setting temperature sensor #3 configuration [optional]. <br>
   * Value: <br>
   * 0:4 - [UInt32] Config 1 <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * 2:4 - [UInt32] Config 2 <br>
   * Valid range: 0 to 4294967295 units (as defined by the client) <br>
   * Special data length rules: <br> - If the length is less-than 8, then the length must be
   * divisible by 2. <br>
   * Each configuration value will then be composed of the number of bytes defined by the quotient.
   */
  public static final int PROP_TEMP_CONFIG_3 = 0xFB73;

  /**
   * Contains the property value for setting temperature sensor #0 high/low range [optional]. <br>
   * Value: <br>
   * 0:2 - [UInt16] Signed Low range <br>
   * Valid range: -3276.7C to +3276.7C <br>
   * 2:2 - [UInt16] Signed High range (-3276.7C to +3276.7C) <br>
   * Valid range: -3276.7C to +3276.7C <br>
   * Special data length rules: <br> - If the length is less-than 4, then the length must be
   * divisible by 2. <br>
   * Each low/high range value will then be composed of the number of bytes <br>
   * defined by the quotient.
   */
  public static final int PROP_TEMP_RANGE_0 = 0xFB80;
  /**
   * Contains the property value for setting temperature sensor #1 high/low range [optional]. <br>
   * Value: <br>
   * 0:2 - [UInt16] Signed Low range <br>
   * Valid range: -3276.7C to +3276.7C <br>
   * 2:2 - [UInt16] Signed High range (-3276.7C to +3276.7C) <br>
   * Valid range: -3276.7C to +3276.7C <br>
   * Special data length rules: <br> - If the length is less-than 4, then the length must be
   * divisible by 2. <br>
   * Each low/high range value will then be composed of the number of bytes <br>
   * defined by the quotient.
   */
  public static final int PROP_TEMP_RANGE_1 = 0xFB81;
  /**
   * Contains the property value for setting temperature sensor #2 high/low range [optional]. <br>
   * Value: <br>
   * 0:2 - [UInt16] Signed Low range <br>
   * Valid range: -3276.7C to +3276.7C <br>
   * 2:2 - [UInt16] Signed High range (-3276.7C to +3276.7C) <br>
   * Valid range: -3276.7C to +3276.7C <br>
   * Special data length rules: <br> - If the length is less-than 4, then the length must be
   * divisible by 2. <br>
   * Each low/high range value will then be composed of the number of bytes <br>
   * defined by the quotient.
   */
  public static final int PROP_TEMP_RANGE_2 = 0xFB82;
  /**
   * 
   * Contains the property value for setting temperature sensor #3 high/low range [optional]. <br>
   * Value: <br>
   * 0:2 - [UInt16] Signed Low range <br>
   * Valid range: -3276.7C to +3276.7C <br>
   * 2:2 - [UInt16] Signed High range (-3276.7C to +3276.7C) <br>
   * Valid range: -3276.7C to +3276.7C <br>
   * Special data length rules: <br> - If the length is less-than 4, then the length must be
   * divisible by 2. <br>
   * Each low/high range value will then be composed of the number of bytes <br>
   * defined by the quotient.
   */
  public static final int PROP_TEMP_RANGE_3 = 0xFB83;

}
